以下のコードを使用すると、次のように 1 つの列を持つテーブルが作成されます。
1 2 3 4 5 6 7
CREATE TABLE abc (a VARCHAR(8));
INSERT INTO abc VALUES(1),(2),(3),(4),(5),(6),(7)
しかし、 (1),(2),(3),(4),(5),(6),(7) を使用してメソッドを使用するにはどうすればよいですか? 1:7 のみのようなものですか?
以下のコードを使用すると、次のように 1 つの列を持つテーブルが作成されます。
1 2 3 4 5 6 7
CREATE TABLE abc (a VARCHAR(8));
INSERT INTO abc VALUES(1),(2),(3),(4),(5),(6),(7)
しかし、 (1),(2),(3),(4),(5),(6),(7) を使用してメソッドを使用するにはどうすればよいですか? 1:7 のみのようなものですか?
誰かが再帰と言いましたか??
with rec as (
select 1 i
union all
select i+1 from rec where i < 7
)
select * from rec
私が間違っていなければ、列に INT 値のセットを単一のバッチで挿入する方法を探しています。たとえば、「列 A に 100 個の ID を挿入する」などです。そのための定義済みの SQL SERVER 関数はありません。ただし、探している十分な数の行があることが確実なシステムテーブルを使用して回避できます。
SELECT rownum
FROM
(
SELECT name,ROW_NUMBER() OVER (ORDER BY name) rownum
FROM sysobjects so
)q
WHERE rownum <= 7