0

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

1 Answer 1

1

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?

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.