次のように SELECT ステートメントを実行することは完全に可能です。
SELECT *
FROM orders
WHERE order_id in (10000, 10001, 10003, 10005);
ただし、その「配列」(10000、...) を格納する変数を作成して、複数のステートメントで繰り返し使用することは可能ですか?
SELECT *
FROM orders
WHERE order_id in @IDarray;
これが非常に単純な質問である場合は申し訳ありません-一度質問する必要があります!
編集:うーん、おそらく明確にする必要があります。私の正確な状況では、ハードコードされているが変更される可能性のある ID が多数あります (上記の配列を例として使用しましょう)。
これらは、複数の INSERT ステートメントで再利用できる必要があるため、ID ごとに複数のテーブルに挿入できます。そのような 2 つの最終結果は次のようになります。
INSERT INTO table1 VALUES (10000, 1, 2, 3);
INSERT INTO table1 VALUES (10001, 1, 2, 3);
INSERT INTO table1 VALUES (10003, 1, 2, 3);
INSERT INTO table1 VALUES (10005, 1, 2, 3);
INSERT INTO table2 VALUES (10000, a, b, c);
INSERT INTO table2 VALUES (10001, a, b, c);
INSERT INTO table2 VALUES (10003, a, b, c);
INSERT INTO table2 VALUES (10005, a, b, c);
明らかに、ここで配列を指定できるとスペースが節約され、INSERT を変更する代わりに 1 つの場所で配列を変更することもできます。