Bonjour,
j'essaie de créer une fonction avec du sql dynamique en m'inspirant de sujets déjà traités :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE FUNCTION EffectifCum (@d datetime)  
RETURNS int AS  
BEGIN 
DECLARE @i INT, @sql NVARCHAR(1000) 
 
SET @sql = 'SELECT @i = SUM(EFFECTIF) FROM Vue_DatesInclusion WHERE date = @d'
 
EXEC sp_executesql
@query = @sql,
@params = N'@i INT OUTPUT',
@i = @i OUTPUT
 
return @i
END
J'essaie d'utiliser cette fonction dans une vue avec le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT     [Date], dbo.EffectifCum([Date]) AS Nb
FROM         dbo.Vue_DatesInclusion
me renvoie :
Seules les fonctions et les procédures étendues peuvent être exécutées à partir d'une fonction
Je ne comprends pas le message d'erreur.