2016-12-19 8 views
9

बनाया गया एक फंक्शन नहीं हैकिसी मान्यता प्राप्त निर्मित समारोह नाम

CREATE FUNCTION Split_On_Upper_Case(@Temp VARCHAR(1000)) 
RETURNS VARCHAR(1000) 
AS 
BEGIN 
DECLARE @KeepValues AS VARCHAR(50) 
SET @KeepValues='%[^ ][A-Z]%' 
WHILE PATINDEX(@KeepValues COLLATE Latin1_General_Bin,@Temp)>0 
SET @Temp=STUFF(@Temp,PATINDEX(@KeepValues COLLATE Latin1_General_Bin,@Temp)+1,0,' ') 
RETURN @Temp 
END 

जब iam इस SELECT Split_On_Upper_Case('SaiBharath') यह एक त्रुटि देता है exexute की कोशिश कर रहा। सकते हैं " 'Split_On_Upper_Case' किसी मान्यता प्राप्त निर्मित समारोह नाम नहीं है।" किसी को समझाने कृपया इस

+1

@ मानसूर - कृपया? –

उत्तर

7

उपसर्ग में [dbo] जोड़ें और फिर निष्पादित के रूप में ही:

SELECT [dbo].[Split_On_Upper_Case] ('SaiBharath') 
+6

अच्छे उत्तरों के पास न केवल कोड है बल्कि कुछ स्पष्टीकरण भी हैं। – GuidoG

5

बस सुनिश्चित करने के लिए, सेट डेटाबेस आप एफआईआर पर अपने समारोह बनाया use खंड का उपयोग कर टी और फिर dbo के साथ अपने फ़ंक्शन की कॉल को उपसर्ग करें।

USE <DatabaseName> 

SELECT dbo.Split_On_Upper_Case('camelCase') 

इसके अलावा, एक अच्छी प्रैक्टिस prefixing each function or database object for that matter, with its schema name है।

10

एसक्यूएल में फ़ंक्शन निष्पादित करने के लिए, उपसर्ग dbo का उपयोग किया जाना चाहिए।

SELECT [dbo].[Split_On_Upper_Case] ('SaiBharath') 
संबंधित मुद्दे