SAVEPOINT
更新時間:
SAVEPOINT
在當前事務中建立一個新保存點。
簡介
保存點是事務內的一種特殊標記,它允許所有在它被建立之后執(zhí)行的命令被回滾,把該事務的狀態(tài)恢復到它處于保存點時的樣子。
語法
SAVEPOINT savepoint_name
參數(shù)
savepoint_name
給新保存點的名字。
說明
使用ROLLBACK TO SAVEPOINT回滾到一個保存點。 使用RELEASE SAVEPOINT銷毀一個保存點, 但保持在它被建立之后執(zhí)行的命令的效果。
保存點只能在一個事務塊內建立。可以在一個事務內定義多個保存點。
示例
要建立一個保存點并且后來撤銷在它建立之后執(zhí)行的所有命令的效果:
BEGIN;
INSERT INTO table1 VALUES (1);
SAVEPOINT my_savepoint;
INSERT INTO table1 VALUES (2);
ROLLBACK TO SAVEPOINT my_savepoint;
INSERT INTO table1 VALUES (3);
COMMIT;
上面的事務將插入值 1 和 3,但不會插入 2。
要建立并且稍后銷毀一個保存點:
BEGIN;
INSERT INTO table1 VALUES (3);
SAVEPOINT my_savepoint;
INSERT INTO table1 VALUES (4);
RELEASE SAVEPOINT my_savepoint;
COMMIT;
上面的事務將插入 3 和 4。
文檔內容是否對您有幫助?