社区
Oracle
帖子详情
如何建立一个基于事务的存储过程?
南飞雁
2003-07-24 08:30:39
oracle里面有些存储过程是基于事务的,比如dbms_job,有些不是,比如utl_file。
我想创建一个自己的基于事务的存储过程,也就是说,当在触发器里面调用此存储过程的时候,只有commit的时候才调用此存储过程。
用pl/sql,java或者c写的存储过程都可以。
...全文
138
4
打赏
收藏
如何建立一个基于事务的存储过程?
oracle里面有些存储过程是基于事务的,比如dbms_job,有些不是,比如utl_file。 我想创建一个自己的基于事务的存储过程,也就是说,当在触发器里面调用此存储过程的时候,只有commit的时候才调用此存储过程。 用pl/sql,java或者c写的存储过程都可以。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiezhi
2003-07-25
打赏
举报
回复
就是說有的是隱含提交的,有的則是必須顯示提交。
但你的是否調用存儲過程和是否提交沒有直接的關系,但你可以根據發生的變化來判斷是否已經提交了。
南飞雁
2003-07-25
打赏
举报
回复
to jiezhi(浪子) :能否举个例子
南飞雁
2003-07-24
打赏
举报
回复
“只有commit的时候才调用此存储过程。??
不明白,调用了就调用了,commit是使修改永久化,就象一条sql语句一样,你不能等你commit时才执行这条语句吧”
比如执行dbms_job.submit(...)以后,只有执行了commit,这条语句才会放到job queue里面等待执行,如果没有执行commit,你在user_jobs里面是看不到这个job的。但是如果你执行了util_file的写文件操作,即使你没有执行commit,文件实际上也已经被改写了。
不知道我说的意思你理解了没有?
more_zou
2003-07-24
打赏
举报
回复
事实上如果你不在过程中加事务语句的话(commit rollback),oracle把存储过程调用看作是一条原子语句,oracle会在调用过程前隐式加上一个savepoint
也就是如果你调用此过程的事务commit,就会提交,rollback过程中的执行也会回滚
只有commit的时候才调用此存储过程。??
不明白,调用了就调用了,commit是使修改永久化,就象一条sql语句一样,你不能等你commit时才执行这条语句吧
我的一点理解,欢迎指正!
oracle11g官方中文帮助文档 高清完整版
oracle11g官方中文帮助文档,压缩文件。
什么是数据库的
存储过程
?
存储过程
就是将常用的或很复杂的工作,预先用SQL语句写好并用
一个
指定的名称存储起来,并且这样的语句是放在数据库中的,还可以根据条件执行不同SQL语句, 那么以后要叫数据库提供与已定义好的
存储过程
的功能相同的服务时,只需调用execute,即可自动完成命令。
存储过程
的优点 1.
存储过程
只在创造时进行编译即可,以后每次执行
存储过程
都不需再重新编译,而我们通常使用的SQL语句每执行一次就编译一次,所以...
什么是
事务
?
事务
的特性?
在mysql中,
事务
是一种机制、
一个
操作序列,是访问和更新数据库的程序执行单元。
事务
中包含
一个
或多个数据库操作命令,会把所有的命令作为
一个
整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行。 php入门到就业线上直播课:进入学习 本教程操作环境:windows7系统、mysql5.6版本、Dell G3电脑。 数据库的
事务
(Transaction)是一种机制、
一个
操作序列,是访问和更新数据库的程序执行单元,包含了一组数据库操作命令。
事务
把所有的命令作为
一个
整
什么是
存储过程
,
存储过程
的作用及好处
原文出处:http://www.cnblogs.com/drop/p/4369564.html
存储过程
(Stored Procedure)是一组为了完成特定功能的SQL 语句集,经编译后存储在数据库。中用户通过指定
存储过程
的名字并给出参数(如果该
存储过程
带有参数)来执行它。
存储过程
是SQL 语句和可选控制流语句的预编译集合,以
一个
名称存储并作为
一个
单元处理。
存储过程
存储在数据库
什么时候使用
存储过程
比较适合?
存储过程
(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定
存储过程
的名字并给出参数(如果该
存储过程
带有参数)来执行它。
存储过程
是数据库中的
一个
重要对象,任何
一个
设计良好的数据库应用程序都应该用到
存储过程
。 当
一个
事务
涉及到多个SQL语句时或者涉及到对多个表的操作时就要考虑用
存储过程
Oracle
17,140
社区成员
55,259
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章