sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2005:Kald en lagret procedure fra en WHERE-sætning

Dette opnås ved først at udføre den lagrede procedure, fange outputtet i en #temp-tabel eller en @tabel-variabel og derefter køre din forespørgsel mod tabellen. Noget som dette:

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

Dette vil selvfølgelig ikke fungere for dig, fordi up_droits har brug for i.x og d.droit parametrene fra forespørgslen. Dette angiver, at din lagrede procedure sandsynligvis skal være en funktion med en visnings- eller tabelværdi.



  1. Omdøb en fremmednøgle i SQL Server ved hjælp af T-SQL

  2. sudo gem install pg virker ikke

  3. Konvertering af en eksisterende MyISAM-database til InnoDB med Django

  4. Rette ved hjælp af hvor; Brug af midlertidig; Bruger filsortering