postgresql 怎么关闭自动提交

 我来答
匿名用户
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 行记录)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式