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

SQL :in klauzula w procedurze składowanej:jak przekazywać wartości

Jeśli chodzi o SQL Server 2005, zapoznaj się z doskonałym artykułem Erlanda Sommarskoga o tablicach i listach w SQL Server 2005, który pokazuje kilka technik radzenia sobie z listami i tablicami w SQL Server 2005 (ma też inny artykuł dotyczący SQL Server 2000).

Jeśli możesz uaktualnić do SQL Server 2008, możesz użyć nowej funkcji o nazwie „parametr o wartości tabeli”:

Najpierw utwórz typ tabeli zdefiniowany przez użytkownika

CREATE TYPE dbo.MyUserIDs AS TABLE (UserID INT NOT NULL)

Po drugie, użyj tego typu tabeli w procedurze składowanej jako parametru:

CREATE PROC proc_GetUsers @UserIDTable MyUserIDs READONLY 
AS
SELECT * FROM dbo.Users
    WHERE userid IN (SELECT UserID FROM @UserIDTable)

Zobacz szczegóły tutaj.

Marek



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 sposoby korzystania z ALL w SQL Server

  2. Jak znaleźć duplikaty w wielu kolumnach?

  3. OPENJSON „Nieprawidłowa składnia w pobliżu słowa kluczowego „z”.”. w SQL Server (ROZWIĄZANE)

  4. Jak zamienić ciąg w kolumnie tabeli SQL Server?

  5. przekonwertuj numer seryjny daty Excel na zwykłą datę