函数中执行DML语句问题

Zzucky 2017-03-14 05:40:07
在函数想要执行DML语句,需要自治事务,同时执行完DML语句之后要commit,但是我现在是向临时表中插入数据,commit之后数据会清空,怎么处理这种情况
...全文
477 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zzucky 2017-06-08
  • 打赏
  • 举报
回复
我现在在外面加了一层函数,里面调用子函数

WITH C AS
               (SELECT *
                 FROM TABLE(son_function()))
              SELECT T1.* FROM C T1, (SELECT COUNT(1) ALL_COUNT FROM C) T2
多写了一个 (SELECT COUNT(1) ALL_COUNT FROM C 这样自治事务就算不commit也不报错了 不太清楚出原因
Zzucky 2017-03-14
  • 打赏
  • 举报
回复
引用 2 楼 jdsnhan 的回复:
别用函数了,放到过程里面呗。
我还想返回一个结果集
jdsnhan 2017-03-14
  • 打赏
  • 举报
回复
别用函数了,放到过程里面呗。
卖水果的net 2017-03-14
  • 打赏
  • 举报
回复
规避这种做法,想想其他的办法。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧