Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL Server 2005 :Appeler une procédure stockée à partir d'une clause WHERE

Ceci est réalisé en exécutant d'abord la procédure stockée, en capturant la sortie dans une table #temp ou une variable @tabel, puis en exécutant votre requête sur la table. Quelque chose comme ça :

declare @droits_table (val ,... );
insert into @droits_table
exec up_droits(param, param);
SELECT distinct top 10 i.x, d.droit FROM v_droit d, v_info i WHERE d.nomdroit='yy' AND i.id<>2 AND (select val from @droits) <>3

Bien sûr, cela ne fonctionnera pas pour vous car up_droits a besoin des paramètres i.x et d.droit de la requête. Cela indique que votre procédure stockée devrait probablement être une fonction de vue ou de table.