私がよく使うソリューション...
数値のリストを VARCHAR(MAX)
として指定します コンマで区切られた文字列の場合、多くの dbo.fn_split()
のいずれかを使用します 人々がオンラインで書いた関数。
多くのうちの 1 つ オンラインの例... SQL-User-Defined-Function-to-Parse-a-Delimited-Str
これらの関数は文字列をパラメーターとして取り、テーブルを返します。
次に、次のようなことができます...
INSERT INTO @temp SELECT * FROM dbo.split(@myList) SELECT * FROM myTable INNER JOIN dbo.split(@myList) AS list ON list.id = myTable.id
プレ>
別の方法は、テーブル値パラメーターを調べることです。これらを使用すると、テーブル全体をパラメーターとしてストアド プロシージャに渡すことができます。使用しているフレームワークによって異なります。 .NET、Java、Ruby などを使用していますか?データベースとはどのように通信していますか?
アプリケーション コードの詳細が分かれば、テーブル値パラメーターを使用するためのクライアント コードと SQL ストアド プロシージャ テンプレートの両方を示すことができます。