나는 테이블에있을 수있는 레코드를 먼저 삭제 한 다음 레코드를 삽입하는 dml 파일을 작성하고 있습니다. 예 : I는 그 자체로 삽입 문을 실행하면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 문을 나열 할 수있었습니다. 모두 개별적으로 세미콜론으로 끝나며 잘 실행됩니다.
하나 삭제가이 필드 1의 상태와 fields1의 다른있다. 그건 제대로 작동하지 않습니다. – btilly
auto_commit을 true로 설정 했습니까? – codymanix
INSERT ALL에는 쿼리가 필요합니다. DUAL의 SELECT는 매우 빠릅니다 (실제로 Oracle 11g에서는 NO-OP입니다). –