4

私は次のようにOracleSQLで複数行挿入構文を使用します。

INSERT ALL
  INTO student(ID, FIRST_NAME, LAST_NAME, AGE)  VALUES(4,'test_name','test_lname',17)
  INTO student(ID, FIRST_NAME, LAST_NAME, AGE)  VALUES(5,'test_name2','test_lname2',20)
  INTO student(ID, FIRST_NAME, LAST_NAME, AGE)  VALUES(6,'test_name3','test_lname3',21)
  select * from dual;

誰かが私に使用の意味を説明できますか

デュアルから*を選択

とのステートメントで?

4

3 に答える 3

6

それはINSERT ALL

INSERT ALL
INTO <table_name> VALUES <column_name_list)
INTO <table_name> VALUES <column_name_list)
...
<SELECT Statement>;

挿入後に選択したいものがない場合はselect * from dual

それ以外の場合は、挿入の成功を確認するために通常必要な選択を行います

参照

于 2012-06-03T08:27:46.663 に答える
4

DUAL表は、すべてのOracleデータベースのインストールにデフォルトで存在する特別な1行の表です。SYSDATEやUSERなどの疑似列の選択に使用するのに適しています。このテーブルには、値が「X」のDUMMYという単一のVARCHAR2(1)列があります。

これについての詳細はここここにあります。

于 2012-06-03T08:25:25.040 に答える
0

[すべて挿入]を使用して、selectステートメントから別のテーブルにデータを挿入できます。この例では、挿入する値を既に指定しているため、挿入をトリガーするには、select *fromdualを実行する必要があります。

http://jzab.blogspot.com/2013/05/oracle-insert-multiple-rows-with-single.html

于 2013-08-09T16:30:58.017 に答える