oracle pl/sql 存储过程中调多个存储过程,执行顺序问题?
发布网友
发布时间:2022-04-07 16:00
我来回答
共4个回答
热心网友
时间:2022-04-07 17:29
在p1内应该是按你调用的顺序执行的,如果要p1和p2的执行放在一个事物中,子过程中不写commit。可以用一下异常 exception
when others then
rollback;
一个子过程失败,回滚,另一个子过程也就没起作用
热心网友
时间:2022-04-07 18:47
不会,是顺序执行的。如果oracle可以先执行p3,那就逆天了。追问子过程,p2,p3都没有写事务commit,只在p1主过程中加了commit;
这三个过程,会在同一个事务里吧?
追答是的,在同一个事务里。
热心网友
时间:2022-04-07 20:22
顺序执行,没commit就不会提交事务
热心网友
时间:2022-04-07 22:13
根据你写的顺序执行,一个完了或者失败了才会执行下一个
不会发生你说的那种情况,放心追问这三个过程,都没有直接写commit事务提交。我是用java最后,事务执提交主p1的,
这样,这三个过程,应该在同一个事务里吧。
如果,不在,加什么语句后,可以使用过程,在一个事务里。
谢谢你啊。
追答不管你调几次,session是没变的,
不过还是建议做完DML操作后及时commit
避免死锁的发生
oracle pl/sql 存储过程中调多个存储过程,执行顺序问题?
在p1内应该是按你调用的顺序执行的,如果要p1和p2的执行放在一个事物中,子过程中不写commit。可以用一下异常 exception when others then rollback;一个子过程失败,回滚,另一个子过程也就没起作用
oracle存储过程同时被多个进程调用时,在存储过程里,用什么方法可以保证...
你可以设置一个全局变量参数,如LV_COUNT:=0,假设有三个过程P1\P2\P3希望按顺序执行,每个过程在执行开始首先判断LV_COUNT的值,如果是0,P1执行,执行后把LV_COUNT置为1;如果是1,P2执行,执行后把LV_COUNT置为2;如果是2,P3执行,执行后把LV_COUNT再次置为0,可以开始下一次循环。
oracle pl/sql存储过程如何执行,我选项目后右键test测试什么反应都没有...
如果:PROCEDURE EveryMonthAssess(out_err out number)是你的开头,那么你直接是看不到变化的,因为你的输出只有的error的时候才会输出吧。你看看你的表中,care用户下的his_info_user_vip_level,是不是已经修改了?另外如果编译没有错误,那么你可以考虑调试一下,就是分步执行,pl/sql developer中可...
如何使用PL/SQL工具批量导出表、存储过程、序列
首先登录到数据库中,通过PLSQL工具等到到数据库,然后点击右上角有个工具栏,然后点击工具栏上的tools。工具栏上的tools(工具)选择导出用户对象,点击tools工具之后,向下查找Export User Objects功能,通过这个功能导出数据。选择需要导出的表或者序列或者存储过程等。在Type列中展示的是对象属性,表、序列...
oracle存储过程是从上到下执行吗
是。oracle存储过程是原则从上至下;从右向左由上至下,在执行计划中一般含有多个节点,所以是。存储过程(StoredProcedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
oracle存储过程中循环调用存储过程
1、没有必要每次都提交,到了CKPT,系统自动处理的 2、出现异常你可以回滚 3、提交了的不会回滚 4、调用的时候不提交,循环后统一提交 后面的问题:关键的地方把SQL语句打印出来,根据这些SQL语句查询出数据做分析
PL/SQL Developer中如何调试oracle的存储过程
1.打开PL/SQL Developer如果 在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面输入 用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定 找到 需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有...
PL_sql如何执行oracle存储过程
1.select * from ods_area; 不能直接在pl/sql 中作为语句执行。应该用 select 字段 into plsql变量 from 表名;的形式来获取表中的数据,保存到plsql变量中。2. 存储过程的语法格式为:create or replace procedure area is --变量声明;begin --过程主体;end area;3. 如果存储过程代码无误,...
如何oracle调试存储过程
PL/SQL中为我们提供了调试存储过程的功能,可以帮助你完成存储过程的预编译与测试。 点击要调试的存储过程,右键选择TEST 如果需要查看变量,当然调试都需要。在右键菜单中选择Add debug information. start debugger(F9)开始我们的测试,Run(Ctrl+R) 随时在varible List中输入我们想查看的变量 其它: Step...
oracle中怎么在plsql中调用存储过程
打开set serveroutput on还需要有输出内容才可以显示。如,有以下存储过程:create or replace procedure p_test as v_begintime varchar2(20);v_endtime varchar2(20);v_str varchar2(10);begin v_begintime:=to_char(sysdate,'yyyy-mm-dd hh24:mi:ss');select 'badkano' into v_str from...