?
このドキュメントでは、 php中國語ネットマニュアル リリース
RELEASE [ SAVEPOINT ] savepoint_name
RELEASE SAVEPOINT刪除一個當(dāng)前事務(wù)先前定義的保存點(diǎn)。
把一個保存點(diǎn)刪除就令其無法作為回滾點(diǎn)使用,除此之外它沒有其它用戶可見的行為。 它并不能撤銷在保存點(diǎn)建立起來之后執(zhí)行的命令的影響。 要撤銷那些命令可以使用ROLLBACK TO SAVEPOINT。 在不再需要的時候刪除一個保存點(diǎn)可以令系統(tǒng)在事務(wù)結(jié)束之前提前回收一些資源。
RELEASE SAVEPOINT也刪除所有在指定的保存點(diǎn)建立之后的所有保存點(diǎn)。
要刪除的保存點(diǎn)的名字
聲明一個以前沒有定義的保存點(diǎn)名字將導(dǎo)致錯誤。
如果事務(wù)在回滾狀態(tài),則不能釋放保存點(diǎn)。
如果多個保存點(diǎn)擁有同樣的名字,只有最近定義的那個才被釋放。
建立并稍后刪除一個保存點(diǎn):
BEGIN; INSERT INTO table1 VALUES (3); SAVEPOINT my_savepoint; INSERT INTO table1 VALUES (4); RELEASE SAVEPOINT my_savepoint; COMMIT;
上面的事務(wù)將同時插入3和4 。
這條命令遵循SQL標(biāo)準(zhǔn)。標(biāo)準(zhǔn)規(guī)定關(guān)鍵字SAVEPOINT是必須的。 但PostgreSQL允許省略它。