bonjour,
Je crée sans souci la fonction suivante :
Quand je veux l'utiliser dans une requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE FUNCTION EffectifNonNul (@NOMVAR VARCHAR(128), @NOMTABLE VARCHAR(128)) RETURNS BIGINT AS BEGIN IF @NOMTABLE IS NULL RETURN NULL IF @NOMVAR IS NULL RETURN NULL DECLARE @v_rowcount BIGINT DECLARE @CODESQL VARCHAR(255) SET @CODESQL='select @v_rowcount = count('+@NOMVAR+') from '+@NOMTABLE+' WHERE '+@NOMVAR+' IS NOT NULL' exec sp_executesql @CODESQL RETURN @v_rowcount END
j'obtiens le message suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT dbo.EffectifNonNul('ind_dai_p', 'Vue_AM_F') AS NonManquant FROM Vue_AM_F
'ind_dai_p' est une variable de la vue 'Vue_AM_F'Seules les fonctions et les procédures étendues peuvent être exécutées à partir d'une fonction.
Pouvez-vous m'aider à comprendre le message d'erreur ?
Merci
Partager