appel de fonction sql server 2005
Salut.
Je suis en train de travailler sur une fonction sous sql server 2005.
En fait une de mes procédure stockées recoit une chaine de caracteres (les id de projets séparés par des virgules...puisque je ne peux pas passer de liste de int en params...).
Cette procédure doit donc découper la chaine (split).
Le pb c que je ne parviens pas a appeler la fonction...
"Cannot find either column "dbo" or the user-defined function or aggregate "dbo.Split", or the name is ambiguous."
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| ALTER FUNCTION [dbo].[Split](
@PInStrSource varchar(8000) = NULL, @pInChrSeparator char(1) = ';'
)
RETURNS @ARRAY TABLE (ItemValue VARCHAR(1000))
AS
BEGIN
DECLARE @CurrentStr varchar(2000)
DECLARE @ItemStr varchar(200)
SET @CurrentStr = @PInStrSource
SET @PInStrSource = '1;2;3'
WHILE Datalength(@CurrentStr) > 0
BEGIN
IF CHARINDEX(@pInChrSeparator, @CurrentStr,1) > 0
BEGIN
SET @ItemStr = SUBSTRING (@CurrentStr, 1, CHARINDEX(@pInChrSeparator, @CurrentStr,1) - 1)
SET @CurrentStr = SUBSTRING (@CurrentStr, CHARINDEX(@pInChrSeparator,
@CurrentStr,1) + 1, (Datalength(@CurrentStr) - CHARINDEX(@pInChrSeparator, @CurrentStr,1) + 1))
INSERT @ARRAY (ItemValue) VALUES (@ItemStr)
END
ELSE
BEGIN
INSERT @ARRAY (ItemValue) VALUES (@CurrentStr)
BREAK;
END
END
RETURN
END |
merci de votre aide!