postgresql 怎么关闭自动提交
1个回答
2013-11-28
展开全部
函数和触发器过程总是在一个由外层查询建立起来的事务里执行
--- 它们无法开始或者提交事务,因为 PostgreSQL 没有嵌套事务.
Test=# select * from test_main;
id | value
----+----------
1 | ONE1
2 | TWO1
4 | FOUR1
11 | ONEONE
12 | ONETWO
13 | ONETHREE
(6 行记录)
通过 BEGIN; 来开始一个事务, COMMIT; 结束一个.
Test=# BEGIN;
BEGIN
Test=# INSERT INTO test_main(id, value) VALUES (100, '100');
INSERT 0 1
Test=# INSERT INTO test_main(id, value) VALUES (100, '100');
错误: 重复键违反唯一约束"test_main_pkey"
描述: 键值"(id)=(100)" 已经存在
Test=# SELECT * FROM test_main;
错误: 当前事务被终止, 事务块结束之前的查询被忽略
Test=# ROLLBACK;
ROLLBACK
Test=# SELECT * FROM test_main;
id | value
----+----------
1 | ONE1
2 | TWO1
4 | FOUR1
11 | ONEONE
12 | ONETWO
13 | ONETHREE
(6 行记录)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询