sql >> データベース >  >> RDS >> Sqlserver

SQL:ストアドプロシージャのin句:値を渡す方法

    SQL Server 2005については、ErlandSommarskogの優れたSQLServer 2005の配列とリストの記事をご覧ください。SQLServer2005でリストと配列を処理する方法を示しています(SQL Server 2000の別の記事もあります)。

    SQL Server 2008にアップグレードできる場合は、「テーブル値パラメーター」と呼ばれる新機能を使用できます。

    まず、ユーザー定義のテーブルタイプを作成します

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

    次に、ストアドプロシージャでそのテーブルタイプをパラメータとして使用します。

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

    詳細はこちらをご覧ください。

    マーク



    1. MySQLで2つのテーブルを比較する方法

    2. SQLServerで現在使用されている言語を取得する

    3. Oracle WITHおよびMATERIALIZEヒントは、関数の自律トランザクションとして機能します

    4. MySQLLEFTJOINを使用した行の削除