Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2005:Wywołanie procedury składowanej z klauzuli WHERE

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nawiązywanie połączenia z Script Task (VB) do Menedżera połączeń OLEDB pakietu SSIS

  2. Wstawianie wielu wierszy w Sybase ASE

  3. Dostosowanie zapytania SQL

  4. Nie możesz połączyć się z serwerem SQL 2008?

  5. Jak znaleźć wszystkie klucze obce?