バッチ処理中のエラーバッチ処理中にエラーを起こすと、バッチ処理にCOMMITが記述されていても、ROLLBACKされる。 前提テーブル "t1" 列 | 型 | 修飾語 -----+---------+-------- id | integer | num | integer | バッチ処理中にエラーを起こす $ vi test.sql
-------------------------------
BEGIN;
INSERT INTO t1 VALUES ( 1, 10 );
INSERT INTO t1 VALUES ( 2, 'abc' );
COMMIT;
-------------------------------
$ psql -f test.sql
BEGIN
INSERT 0 1
psql:test.sql:3: ERROR: invalid input syntax for integer: "abc"
行 1: INSERT INTO t1 VALUES ( 2, 'abc' );
^
ROLLBACK
ロールバックされたので、テーブルt1には一切レコードが挿入されていない。 |
|