![](/img/trans.png)
[英]How to call procedure with IN and INOUT values in Postgres Procedure
[英]How to call a procedure with Rollback in the end?
我正在使用 PostgreSQL 和 DBeaver。 出於測試目的,我想在事務中進行過程調用; 然后回滾它。 我寫了以下腳本:
DO $$
BEGIN
call MyProcedure();
ROLLBACK $$;
我試圖在 DBeaver 控制台中運行它。 我收到以下錯誤:
SQL Error [42601]: ERROR: syntax error at end of input
它指向最后的$$
。
怎么了; 我怎樣才能達到我的目標:在交易中進行過程調用; 然后回滾呢?
對於 DO 塊,你錯過了end
DO $$
BEGIN
RAISE NOTICE 'test';
ROLLBACK;
END $$;
但是因為你想顯示一個表格內容,你不能使用匿名塊,而只能開始/結束交易。
BEGIN;
select * from test;
call my_procedure();
select * from test;
ROLLBACK;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.