问题描述
- 存储过程同时Update 多张表问题
-
如下存储过程写法对吗?执行成功,没有报错,但是实际查询数据时发现数据并没有被更新,求解答,问题出在哪里呢?
create or replace procedure emp_role_disable IsBegin
Update c_userxrole Set expiration_date=Sysdate+14,lm_user='autocim' ,lm_time =systimestamp Where upper(userid) In (Select emp_data.emp_no From emp_data Where trans_date Is Not Null);
Update c_usr_user Set is_enable=0,is_quit=1 ,LM_USER='CIM',disable_date=Sysdate Where is_enable=1 And is_quit=0 And upper(userid) Not In (Select emp_data.emp_no From emp_data);end emp_role_disable;
说明,两个sql 拉出来直接在plsql上执行是Ok的
存储过程执行后,数据没有变化;然后我定义了一个job,周期执行这个存储过程。job执行成功,数据也更新了。。问题:存储过程不能手动执行吗?就是按F8执行,一定要其它触发执行?
解决方案
1.存储过程应该是没有问题
2,按F8是不可以执行的。可以手工执行的可以使用exec命令执行
时间: 2024-11-02 04:24:15