バッチ処理中のエラーバッチ処理中にエラーを起こすと、バッチ処理に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には一切レコードが挿入されていない。 |
|