云贝教育 |【PostgreSQL PGCE-091题目解析29】在pg中,update操作默认是否是自动提交?
2023-12-14 20:25:20
考试科目:PGCE-E-091
考试题量:44 道单项选择题、29 道多项选择题(每题 2 分)
通过分数:60%
考试时间:60min
本文为云贝教育刘峰(微信:yunbee_DBA)原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。
在pg中,update操作默认是否是自动提交?
A. 是
B. 不是
C. 不知道
D. 看情况
参考答案:A
解析:
要确认数据库默认设置的参数,通过以下命令确认
testdb=# \set
AUTOCOMMIT = 'off'
。。。。省略
设置会话级别AUTOCOMMIT 关闭
testdb=# \set AUTOCOMMIT off
查看AUTOCOMMIT
testdb=# \echo :AUTOCOMMIT
off
1)在AUTOCOMMIT默认的情况下
testdb=# \echo :AUTOCOMMIT
on
实验数据提交状态
1、查看初始表的数据量
testdb=# select count(1) from t2;
count
-------
2000
(1 row)
2、执行insert语句
testdb=*# insert into t2 select * from t2;
INSERT 0 2000
3、本窗口查询
testdb=*# select count(1) from t2;
count
-------
4000
(1 row)
4、再开一个窗口执行
testdb=# select count(1) from t2;
count
-------
4000
(1 row)
2)在AUTOCOMMIT=OFF的情况下
testdb=# \echo :AUTOCOMMIT
off
实验数据提交状态
1、查看初始表的数据量
testdb=# select count(1) from t2;
count
-------
2000
(1 row)
2、执行insert语句
testdb=*# insert into t2 select * from t2;
INSERT 0 2000
3、本窗口查询
testdb=*# select count(1) from t2;
count
-------
4000
(1 row)
4、再开一个窗口执行
testdb=# select count(1) from t2;
count
-------
2000
(1 row)
5、在3的窗口上,执行commit;
testdb=*# commit;
COMMIT
testdb=# select count(1) from t2;
count
-------
4000
(1 row)
6、在4的窗口上再次查询
testdb=# select count(1) from t2;
count
-------
4000
(1 row)
综上实验,可以确认pg的自动提交是关闭状态。
文章来源:https://blog.csdn.net/yunbee666/article/details/134995750
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!