次のコードを使用しています:
SELECT * FROM table
WHERE Col IN (123,123,222,....)
ただし、句に約 3000 を超える数値を入力するとIN
、SQL はエラーをスローします。
サイズ制限やそれに類するものがあるのか誰か知っていますか?!!
ベストアンサー1
使用しているデータベース エンジンによっては、命令の長さに制限がある場合があります。
SQL Server には非常に大きな制限があります。
http://msdn.microsoft.com/en-us/library/ms143432.aspx
ORACLE は、反対側で非常に簡単に到達できる制限を持っています。
したがって、大きな IN 句の場合は、一時テーブルを作成し、値を挿入して JOIN を実行する方が適切です。動作も速くなります。