[MS SERVER 2K]Fonction crée qui ne s'éxécute pas
bonjour,
Je crée sans souci la fonction suivante :
Code:
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 |
Quand je veux l'utiliser dans une requête :
Code:
1 2 3
|
SELECT dbo.EffectifNonNul('ind_dai_p', 'Vue_AM_F') AS NonManquant
FROM Vue_AM_F |
j'obtiens le message suivant :
Citation:
Seules les fonctions et les procédures étendues peuvent être exécutées à partir d'une fonction.
'ind_dai_p' est une variable de la vue 'Vue_AM_F'
Pouvez-vous m'aider à comprendre le message d'erreur ?
Merci ;)