sql >> Databáze >  >> RDS >> Sqlserver

SQL :v klauzuli v uložené proceduře:jak předávat hodnoty

Pro SQL Server 2005 se podívejte na vynikající článek Erlanda Sommarskoga Arrays and Lists in SQL Server 2005, který ukazuje některé techniky, jak zacházet se seznamy a poli v SQL Server 2005 (má také další článek pro SQL Server 2000).

Pokud byste mohli upgradovat na SQL Server 2008, můžete použít novou funkci nazvanou „parametr s hodnotou tabulky“:

Nejprve vytvořte uživatelsky definovaný typ tabulky

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

Za druhé, použijte tento typ tabulky v uložené proceduře jako parametr:

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

Podrobnosti naleznete zde.

Marc



  1. Jak vložit JSONB do Postgresql s Pythonem?

  2. MySQL:Přidejte sloupec sekvence na základě jiného pole

  3. Selhání addnode resolv.conf

  4. Náhodně odebraná postgres výchozí oprávnění superuživatele - mohu je získat zpět?