あなたは、個々の挿入文の多くを生成し、実行したくない場合は、このようなデュアルから個々の値を選択するような単一のインサートとしてのデータを結合するいくつかの方法があり、それらを一緒に合併する:
insert into tablename(columnname)
select '1777193992' from dual
union all select '1777535342' from dual
union all select '1777519577' from dual
union all select '1777725624' from dual
union all select '1777311315' from dual
union all select '1771416476' from dual
union all select '1779312636' from dual
union all select '1777125359' from dual
/
またはそのわずか虐待the insert all
syntaxマルチテーブルインサートアイデアと:
insert all
into tablename(columnname) values ('1777193992')
into tablename(columnname) values ('1777535342')
into tablename(columnname) values ('1777519577')
into tablename(columnname) values ('1777725624')
into tablename(columnname) values ('1777311315')
into tablename(columnname) values ('1771416476')
into tablename(columnname) values ('1779312636')
into tablename(columnname) values ('1777125359')
select * from dual
/
@krokodilkoが示したものを変更することで、Excelからそれらを生成することができます。
個々の値を入力するコレクションを作成することもできます。ここbuilt-in odcivarchar2list
collection typeを使用して:
insert into tablename(columnname)
select column_value
from table(sys.odcivarchar2list('1777193992', '1777535342', '1777519577',
'1777725624', '1777311315', '1771416476', '1779312636', '1777125359'))
/
...あなたがPL/SQLからコレクションを取り込むことで回避できmore than 1000 entries listed like thatに問題、持っているかもしれないが - この場合は、このアプローチはあまり魅力的になります。
しかし、値のリストがある場合は、external tableまたはSQL*Loader、またはSQL Developerのインポートメカニズムを使用してロードする方がはるかに簡単です。
あなた自身のアプリケーションにリストがある場合は、配列からコレクションを作成してから上記のtable()
バージョンを使用することができますが、使用している言語とドライバによってどのように違いますか。
ここからは何千という値が得られますか?ファイルがある場合は、外部テーブルまたはSQL \ * Loaderがオプションになります。そうでない場合は、他のメソッドがありますが、値のリストを少し操作する必要があります。 (また、ターゲット列のデータ型は何ですか?すべての例は数値ですが、文字列として扱っていますか?) –