私は、まずテーブルにあるレコードを削除した後、レコードを挿入するdmlファイルを作成しています。 例:私は、それ自体でINSERT文を実行するとOracle 10g複数のDELETE文
DELETE from foo where field1='bar';
DELETE from foo where fields1='bazz';
INSERT ALL
INTO foo(field1, field2) values ('bar', 'x')
INTO foo(field1, field2) values ('bazz', 'y')
SELECT * from DUAL;
、それが正常に動作します。削除を実行すると、最後の削除のみが実行されます。
また、選択で複数の挿入を終了する必要があるようですが、そうですか?もしそうなら、なぜそれが必要ですか? これまでMySQLを使用していたときに、複数のdelete文とinsert文をリストすることができましたが、それぞれ個別にセミコロンで終わります。
ひとつは削除があるfields1上のフィールド1とその他の条件があります。それは正しく動作しません。 – btilly
auto_commitをtrueに設定しましたか? – codymanix
INSERT ALLにはクエリが必要です。 DUALのSELECTは非常に高速です(実際はOracle 11gではNO-OPです)。 –