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.