Je voudrais passer en parametre d une fonction, le nom d une table pour faire un fetch dessus.
Malheureusement j'ai une erreur sql.
Msg 1087, Level 15, State 2, Procedure test, Line 17
Must declare the table variable "@param_table".
Le nom des tables qui sont passes en parametres ont la meme structure.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER FUNCTION [dbo].[test] (@param_table VARCHAR(128))
RETURNS VARCHAR(256)
AS
BEGIN
declare @commentaire varchar(256)
declare @commentaire1 varchar(256)
set @commentaire=''
declare tdesec_cur CURSOR FOR select text from @param_table where code=1 order by sequence;
open tdesec_cur;
fetch next FROM tdesec_cur INTO @commentaire;
while @@FETCH_STATUS =0
begin
set @commentaire1=@commentaire1+@commentaire+' '
fetch next FROM tdesec_cur INTO @commentaire;
end
CLOSE tdesec_cur;
DEALLOCATE tdesec_cur;
RETURN @commentaire1
END
Merci de votre aide.
Partager