[SQL SERVER 2005] Utilisation de Exec dans une fonction ?
Bonjour,
je chercher à créer une fonction qui me retourne le contenu de la colonne dont le nom est passée en paramètre de la fonction
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| CREATE FUNCTION [FN_GET_TERMES](@CODE_TERMES VARCHAR(30),@COLUMN_NAME VARCHAR(10))
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @TERMES AS VARCHAR(50)
DECLARE @sSql AS NVARCHAR(4000)
DECLARE @sST AS VARCHAR(5)
SET @sST=''''
SET @sSql = 'SELECT @TERMES = ' + @COLUMN_NAME +
+ ' FROM TERMES ' +
+ ' WHERE CODE_TERMES = ' + @sST + @CODE_TERMES + @sST
EXECUTE(@sSql)
RETURN @TERMES
END |
A la compilation il me dit
Code:
1 2 3
|
Serveur : Msg 443, Niveau 16, État 2, Procédure FN_GET_TERMES, Ligne 20
Utilisation incorrecte de 'EXECUTE' à l'intérieur d'une fonction. |
N'est ce pas possible d'utiliser EXEC ou EXECUTE dans une fonction ?
Sinon comment puis-je faire car je voudrais utiliser cette fonction dans mes requêtes de procédure stockées (SELECT FN_GET_TERMES('SG_TOUTES',@COLNAME))
Merci par avance de votre aide