Dit wordt bereikt door eerst de opgeslagen procedure uit te voeren, de uitvoer vast te leggen in een #temp-tabel of een @tabel-variabele en vervolgens uw query op de tabel uit te voeren. Zoiets als dit:
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
Dit werkt natuurlijk niet voor jou omdat de up_droits de i.x en d.droit parameters van de query nodig heeft. Dit geeft aan dat uw opgeslagen procedure waarschijnlijk een functie met een weergave- of tabelwaarde moet zijn.