Osiąga się to, najpierw wykonując procedurę składowaną, przechwytując dane wyjściowe do tabeli #temp lub zmiennej @tabel, a następnie uruchamiając zapytanie względem tabeli. Coś takiego:
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
Oczywiście to nie zadziała, ponieważ up_droits potrzebuje parametrów i.x i d.droit z zapytania. Wskazuje to, że twoja procedura składowana powinna prawdopodobnie być funkcją o wartości widoku lub tabeli.