KingbaseES V8R6 ksql 关闭自动提交
2022/7/16 2:22:37
本文主要是介绍KingbaseES V8R6 ksql 关闭自动提交,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景
用过oracle或mysql的人都知道,做一个dml语句,如果发现做错了,还可以rollback,但在Kingbase ksql 中,如果执行一个dml,没有先运行begin; 的话,一执行完就马上提交了,不能回滚,(因为默认自动提交是开启的)这样容易导致误操作的发生,有没有什么办法避免这个风险呢?答案是关闭自动提交。
在KingabseESV8R6中 autocommit功能默认是开启的。
test=# \echo :AUTOCOMMIT; on;
在被设置为on
(默认)时,每一个 SQL 命令在成功完成时会被自动提交。在这种模式中要推迟提交,必须输入一个BEGIN
或者START TRANSACTION
SQL 命令。当被设置为off
或者被重置时,在显式发出COMMIT
或者END
之前,SQL 命令不会被提交。
test=# \set AUTOCOMMIT off; test=# \echo :AUTOCOMMIT; off;
这个简单的命令禁用会话的自动提交。关闭自动提交后,dml可以回滚。当退出会话就会失效。注意ddl的回滚功能无关自动提交功能。
全局关闭自动提交
用root用户找到ksqlrc.sample文件
将sample 拷贝到 数据库配置目录etc下并改名为ksqlrc
在ksqlrc文件中加入\set AUTOCOMMIT off 注意AUTOCOMMIT要大写
并重启数据库服务后。查看已经关闭了自动提交功能
这篇关于KingbaseES V8R6 ksql 关闭自动提交的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-10百万架构师第十三课:源码分析:Spring 源码分析:Spring核心IOC容器及依赖注入原理|JavaGuide
- 2025-01-10便捷好用的电商API工具合集
- 2025-01-09必试!帮 J 人团队解决物流错发漏发的软件神器!
- 2025-01-09不容小觑!助力 J 人物流客服安抚情绪的软件!
- 2025-01-09为什么医疗团队协作离不开智能文档工具?
- 2025-01-09惊叹:J 人团队用啥软件让物流服务快又准?
- 2025-01-09如何利用数据分析工具优化项目资源分配?4种工具推荐
- 2025-01-09多学科协作难?这款文档工具可以帮你省心省力
- 2025-01-09团队中的技术项目经理TPM:工作内容与资源优化策略
- 2025-01-09JIT生产管理法:优化流程,提升竞争力的秘诀