SQLのINSERT文で複数のデータを登録する場合、連続でデータのみを記述して実行したいことがあります。
デバッグの為に多数のテストデータを登録したりする場合などです。
「PostgreSQL」「MySQL」にはINSERT文のVALUES句のデータの内容をカンマ区切りで連結することで 一括にINSERT処理が行えます。
その方法がOracleでもできるのかなと思って以下の様なSQLを実行したのですが、 やはりエラーが返されました。 (テスト用のテーブルの定義も以下に示しています。)
Oracleでは以下の様にしないとできないです。
最初にINSERT ALLと記述して、 その後に INSERT INTO…VALUES(…)のINTO以下を複数行書きます。 この時にはカンマなどで区切らなくても良いようです。 最後にSELECT * FROM DUAL;で終わってやります。
■関連ページ
⇒OracleSQL データの追加
⇒OracleSQL データの更新
⇒OracleSQL データの削除
デバッグの為に多数のテストデータを登録したりする場合などです。
「PostgreSQL」「MySQL」にはINSERT文のVALUES句のデータの内容をカンマ区切りで連結することで 一括にINSERT処理が行えます。
その方法がOracleでもできるのかなと思って以下の様なSQLを実行したのですが、 やはりエラーが返されました。 (テスト用のテーブルの定義も以下に示しています。)
Oracleでは以下の様にしないとできないです。
最初にINSERT ALLと記述して、 その後に INSERT INTO…VALUES(…)のINTO以下を複数行書きます。 この時にはカンマなどで区切らなくても良いようです。 最後にSELECT * FROM DUAL;で終わってやります。
■関連ページ
⇒OracleSQL データの追加
⇒OracleSQL データの更新
⇒OracleSQL データの削除