2012-04-02 16 views
2

ストアドプロシージャに渡されたユーザーの電子メールを返す必要があります。カンマで区切られた複数のユーザーがストアドプロシージャに渡すことは可能です。SQL Server 2005 CSVまたはテーブルのカーソルを反復処理する方法は?

私は

INSERT INTO @stTbl 
    SELECT value 
    FROM fn_Split(@UFID , ',') 

を使用することができ、分割テーブル値関数を持っていますが、一部の値が表にではなく、中に存在しない場合、私はCSV形式のリストからユーザーを挿入する必要があるだろうというときに問題が発生しましたユーザーテーブル

私はカーソルを使用したくないので、このようなことをする最良の方法は何ですか?

答えて

1
INSERT INTO @stTbl (value) 
SELECT value 
FROM fn_Split(@UFID , ',') AS F 
WHERE NOT EXISTS (
    SELECT NULL 
    FROM @stTbl AS T 
    WHERE T.value = F.value 
) 
1

SQL 2008をお持ちの場合は、MERGEステートメントを使用してください。それは信じられないほど便利なことができます。

関連する問題