【发布时间】:2015-05-23 15:06:48
【问题描述】:
我想在 Postgresql 中同时执行两个事务,这就是我所拥有的
--The first transaction should modify the age of Paul
BEGIN;
DECLARE newage INTEGER;
--the original age of Paul is 32
newage := Select age FROM COMPANY WHERE name = Paul;
newage := newage+10;
update company set age := Sage where name = Paul;
commit;
--The second Transaction shows all information about Paul including his age
Begin
select * from company where name = 'Paul';
commit;
这两部分都是在同一个 SQL 编辑器中编写的。我的第一个问题是它没有编译,我得到了消息
ERROR: syntax error at or near "INTEGER"
LINE 2: DECLARE newage INTEGER;
如何改进我的代码来执行它?谁能帮我?谢谢!
【问题讨论】:
-
看起来您正在混合使用 plpgsql 和 sql。您的第一个事务不是有效的 SQL,但它看起来像 plpgsql。但它只是看起来像,它也不是有效的plpgsql。那你在找什么?
-
@FrankHeikens 我正在使用 PgAdmin,我想同时运行 2 个事务。除了声明变量的语法失败。如果我在同一个 SQL 编辑器窗口上执行它们是否正确?我的意思是“开始;……提交;”对于第 1 笔交易和“开始;...提交;”第二次交易?
标签: postgresql concurrency transactions