社区
Oracle
帖子详情
有关的execute immediate问题
penning
2005-01-10 11:09:14
我有PROCEDURE,执行的顺序为
insert...
v_sql:=....
execute immediate v_sql
insert...
commit;
exception...rollback
调试中发现execute immediate把以前的insert语句commit了,
在v_sql后面的insert发生错误只能回滚到execute immediate
有没有办法execute不commit的,谢谢
...全文
197
6
打赏
收藏
有关的execute immediate问题
我有PROCEDURE,执行的顺序为 insert... v_sql:=.... execute immediate v_sql insert... commit; exception...rollback 调试中发现execute immediate把以前的insert语句commit了, 在v_sql后面的insert发生错误只能回滚到execute immediate 有没有办法execute不commit的,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhaokeke2004
2005-01-14
打赏
举报
回复
楼上说的正确
baojianjun
2005-01-10
打赏
举报
回复
同意樓上地的
hrui99
2005-01-10
打赏
举报
回复
1,这是oracle系统本身系统设置的事务完整性规则,完成同样的回退功能可以对 “execute immediate v_sql” 操作进行删除或刷新操作。
2,改系统设置自动提交改手动显示提交,这样非常麻烦,不建议使用。
penning
2005-01-10
打赏
举报
回复
你这样我最后insert还得写一个exception
有没有execute不commit的?
luxuezhu
2005-01-10
打赏
举报
回复
insert...
v_sql:=....
execute immediate v_sql
exception...rollback
insert...
commit;
zmgowin
2005-01-10
打赏
举报
回复
动态sql不会自动提交,这里你要看看定义的sql是什么语句,ddl和truncate都会隐式提交,你放到哪里都是一样
Oracle中
EXECU
TE
IM
MEDIA
TE
用法
Oracle中
EXECU
TE
IM
MEDIA
TE
用法
execu
te
im
media
te
用法研究
execu
te
im
media
te
用法研究 为初学者打造。
EXECU
TE
IM
MEDIA
TE
用法小结
EXECU
TE
IM
MEDIA
TE
将不会提交一个DML事务执行,应该显式提交 如果通过
EXECU
TE
IM
MEDIA
TE
处理DML命令, 那么在完成以前需要显式提交或者作为
EXECU
TE
IM
MEDIA
TE
自己的一部分. 如果通过
EXECU
TE
IM
MEDIA
TE
处理DDL命令,
用
execu
te
im
media
te
执行备份恢复SQLSVR数据库
用
execu
te
im
media
te
执行备份恢复SQLSVR数据库
动态SQL之
EXECU
TE
IM
MEDIA
TE
NULL 博文链接:https://wushuangyan26.i
te
ye.com/blog/1306094
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章