Reputation: 19
Im unable to call a user defined function in an sql query of sql server.
my qyery is
SELECT Empnum(delimeter_test) as del FROM FNSPLIT_TEST WHERE Len(delimeter_test) >1
and my function is
ALTER FUNCTION [dbo].[Empnum] (@RAWDATA NVARCHAR(300))
RETURNS VARCHAR(30)
AS
BEGIN
DECLARE @TEMP1 NVARCHAR(300)
--DECLARE @TEMP2
IF(CHARINDEX('Disabled',@RAWDATA,1)) <> 0
BEGIN
DECLARE SPLITTEXT CURSOR FOR
SELECT [item] FROM fnSplit(@RAWDATA,',')
-- SET @TEMP1=dbo.fnSplit(@RAWDATA,',')
OPEN SPLITTEXT
FETCH SPLITTEXT INTO @TEMP1
CLOSE SPLITTEXT
DEALLOCATE SPLITTEXT
-- INSERT INTO @EMPNUM1 SELECT @TEMP1
-- SET @TEMP1=dbo.fnSplit(@RAWDATA,',')
END
RETURN @TEMP1
END
Upvotes: 0
Views: 1174
Reputation: 19235
For some reason UDF's require the schema name:
SELECT dbo.Empnum(delimeter_test) as del FROM FNSPLIT_TEST WHERE Len(delimeter_test) > 1
Also, here is a method of concatenating text strings without a cursor:
Concatenate many rows into a single text string?
Upvotes: 1