在從頂層呼叫的程序或從頂層呼叫的匿名程式碼區塊(DO
命令)中,可以控制交易。 要提交目前的交易,請呼叫 commit
命令。 要回滾目前的交易,請呼叫 rollback
命令。(請注意,無法透過 spi_exec
或類似方式執行 SQL 命令 COMMIT
或 ROLLBACK
。 必須使用這些函數。)交易結束後,會自動開始一個新的交易,因此沒有單獨的命令來執行此操作。
這是一個範例
CREATE PROCEDURE transaction_test1() LANGUAGE pltcl AS $$ for {set i 0} {$i < 10} {incr i} { spi_exec "INSERT INTO test1 (a) VALUES ($i)" if {$i % 2 == 0} { commit } else { rollback } } $$; CALL transaction_test1();
當顯式子交易處於活動狀態時,無法結束交易。
如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表格回報文件問題。