में उपयोगकर्ता परिभाषित फ़ंक्शन के साथ दृश्य पर इंडेक्स नहीं बना सकता SQL Server 2005 में, मैं एक अनुक्रमित दृश्य में उपयोगकर्ता परिभाषित फ़ंक्शन का उपयोग करने का प्रयास कर रहा हूं जिसका उपयोग पूर्ण-पाठ अनुक्रमणिका में किया जाएगा। मैं यूडीएफ को संग्रहीत प्रक्रिया और प्रश्न में देखने के साथ काम करने में सक्षम हूं। लेकिन, जब मैं दृश्य मैं निम्नलिखित त्रुटि मिलती है पर एक सूचकांक ... बनाने का प्रयास करेंSQL सर्वर
पर दृश्य "DevDatabase.dbo.View_PersonSearch" अनुक्रमणिका नहीं बनाई जा सकती क्योंकि समारोह "dbo.GetCurrentImage" दृश्य द्वारा संदर्भित उपयोगकर्ता प्रदर्शन या सिस्टम डेटा का उपयोग।
मैं इससे फंस गया हूं। नीचे एक उदाहरण है जो मैं करने की कोशिश कर रहा हूं। क्या मुझे कुछ याद आ रहा है या यह भी संभव है?
उपयोगकर्ता निर्धारित समारोह
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[GetCurrentImage](@Person_ID int)
RETURNS int
WITH SCHEMABINDING
AS
BEGIN
-- Declare the return variable here
DECLARE @Img_ID int
SET @Img_ID = (**sql that selects image**)
RETURN @Img_ID
END
GO
सूचकांक निर्माण के साथ देखें
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW [dbo].[View_PersonSearch]
WITH SCHEMABINDING
AS
SELECT Person_ID,
(**Select fields to search on**) AS SearchArea,
dbo.GetCurrentImage(Person_ID) AS FK_Img_ID
FROM dbo.Person
GO
CREATE UNIQUE CLUSTERED INDEX Index_Person_ID ON [View_PersonSearch](Person_ID)
GO
आह ... मुझे अब मिल गया है। मेरे लिए प्रकाश में लाने के लिए धन्यवाद। – Eddie
तो समाधान क्या है? –
मैं भी वास्तव में जानना चाहता हूं कि आपने इस मुद्दे को कैसे पार किया। – Jeremy