2016-12-01 21 views
2

我々は分離されたクエリを実行していることを前提としています。これらのマルチクエリ(ネットワーキング、解析など)の場合の古典的なオーバーヘッドの問題はどうでしょうか?挿入複数行

ありがとうございます!

答えて

1

実際、テーブルに挿入するのは非効率的な方法です。あなたが示す正確な文は、あなたのテーブルが二つ以上の列を持っている場合(そのように定義されている場合、または列のデフォルト値)、他の列はnullになり、もちろん

INSERT INTO mytable ("id", "name") 
    select 'val1', 'val2' from dual union all 
    select 'aa' , 'cc' from dual union all 
    select 'ww' , 'dd' from dual 
; 

に置き換えることができます。

2

INSERT ALL INTODocumentation)を使用できます。

INSERT ALL 
    INTO mytable ("id", "name") VALUES ('val1', 'val2') 
    INTO mytable ("id", "name") VALUES ('aa', 'cc') 
    INTO mytable ("id", "name") VALUES ('aa', 'cc') 
SELECT 1 FROM DUAL; 
+0

確かに、しかし私の質問に答えることはありません!しかし、ありがとう! – Alex

0

あなたがあれば、選択を挿入することができ、あなたがなど、参加し、おそらく、WHERE条件に、単一のSELECT文を使用することができます -

さらに良いことに、あなたが挿入されている値は、いくつかの並べ替えのテーブルに既にありますあなたはすでにいくつかのSQLオブジェクトにダーダを持っています。 しかし、多くの情報を挿入する必要があるときには、txtファイルを送信して、一括挿入を行うなどの別の方法を使用することができます。このとき(2016) 1GBのネットワークではあまりにも多くの旅行は問題ありません。

Use a Format File to Bulk Import Data (SQL Server)

Bulk Import and Export of Data (SQL Server)

選択インサートの例:この

チェック

Insert into Table 
select id, column1, column2 from tempTable 

それはmytableは( "ID"、 "名前")INTO よりも高速ですVALUES( 'val1'、 'val2') INTO mytable( "id"、 "name")VALUES( 'aa'、 'cc') INTO mytable( "id"、 "name")VALUES( 'aa'、 'cc')

注意!!!!!!

SORRY !!!あなたはオラクルについて尋ねる...私はオラクルのためにこれのようないくつかの可能性があります