J'ai une tâche qui ne peut être accomplie qu'en construisant un QUERY à l'exécution et en l'exécutant avec sp_executesql. Le résultat doit être une valeur booleanne (entier 0/1) que je dois returnner à la suite de la fonction.
La seule façon de capturer la sortie d'un SP est la requête "INSERT INTO [table] EXECUTE [sp]", mais les fonctions l'interdisent.
Des idées pour surmonter cela?
sp_executesql vous permet de passer des parameters, mais aussi de déclarer les parameters comme étant en sortie. Jetez juste un coup d'oeil à cet exemple simple qui n'est pas très dynamic, mais montre comment fonctionnent les parameters de sortie de sp_executesql
declare @sql nvarchar(max) declare @user sysname select @sql = 'SELECT @user = SYSTEM_USER' exec sp_executesql @sql, N'@user sysname OUTPUT', @user OUTPUT select @user