存储过程同时Update 多张表问题

问题描述

存储过程同时Update 多张表问题

如下存储过程写法对吗?执行成功,没有报错,但是实际查询数据时发现数据并没有被更新,求解答,问题出在哪里呢?
create or replace procedure emp_role_disable Is

Begin
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

存储过程同时Update 多张表问题的相关文章

更新表-sql 如何在建立一个存储过程时更新两张表的数据?

问题描述 sql 如何在建立一个存储过程时更新两张表的数据? create proc proc2 ( @OrderID int, @BookID varchar(20),--更新 orderInfo quantity:更新 orderSheet payment @BookStock int ) as update orderSheet set payment = b.newpay FROM orderInfo,orderSheet,(select (payment + price * @Book

写一个存储过程,更新5张表,表之间没有关系,表中的字段也不相同,要用传参数的形式

问题描述 写一个存储过程,更新5张表,表之间没有关系,表中的字段也不相同,要用传参数的形式 求助,写一个存储过程,更新5张表,表之间没有关系,表中的字段也不相同,要用传参数的形式.是否可以写在一个存储过程中.谢谢大家啦.遇到难题啦. update语句已经写好了,就是不知道如何整合成存储过程. 解决方案 可以的,一个存储过程可以执行多个update语句

MySQL SELECT同时UPDATE同一张表问题发生及解决_Mysql

MySQL不允许SELECT FROM后面指向用作UPDATE的表,有时候让人纠结.当然,有比创建无休止的临时表更好的办法.本文解释如何UPDATE一张表,同时在查询子句中使用SELECT. 问题描述 假设我要UPDATE的表跟查询子句是同一张表,这样做有许多种原因,例如用统计数据更新表的字段(此时需要用group子句返回统计值),从某一条记录的字段update另一条记录,而不必使用非标准的语句,等等.举个例子: 复制代码 代码如下: create table apples(variety ch

『求助』存储过程执行后有两张表,为什么while后只有第一张表显示

问题描述 解决方案 解决方案二:遮挡的太多!应该是缺少移动记录集指针的语句解决方案三:你可以看看人家.net的ExcuteReader的文档和任何介绍,你在哪里看到过支持返回两张表的,请贴出来吧.解决方案四:引用1楼xuzuning的回复: 遮挡的太多!应该是缺少移动记录集指针的语句 这是我写的两个方法,一个用dataset,一个用sqldatareader,都是只能返回第一张表的SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=newS

mysql存储过程如何遍历查询结果并更新到另一张表

问题描述 mysql存储过程如何遍历查询结果并更新到另一张表 sql查出来的结果集:表:t_bm_integral第一张图里边的sql查出了一个结果集 里面包含 包含memberid 和integral字段,现需要把这个结果集里面的integral插入或更新到第二张图里边表(表名:t_bm_integral)的integral字段(如果第一张图里边的memberid在第二张图里边存在则更新其integral,不存在则把第一张图里memberid和integral字段作为一条新的记录插入)存储过程

php取存储过程,如何取到3张表

问题描述 php取存储过程,如何取到3张表 php调用sql存储过程 ,这个存储过程中有3张表,我想取到第3张表,要如何写 解决方案 取汉字拼音首字母的存储过程 解决方案二: 如果你使用 php_mysql 扩展,那么你只能取到第一个记录集.这也就是该扩展在 php5.5 被废止的原因之一 如果你使用 php_mysqli 扩展,则有 mysqli::next_result 方法和 mysqli_next_result 函数 如果你使用 php_PDO 扩展,则有 PDOStatement::n

mysql update 根据表中字段查询另一张表更新更新

问题描述 mysql update 根据表中字段查询另一张表更新更新 mysql有两张表, 班级表class,包含 | id | name | | 1 | 一班 | | 2 | 二班 | 学生表student,其中classId为空,className有值并对应class表中的name | id | name | classId | className | | 1 | 一班 | | 一班 | | 2 | 二班 | | 二班 | | 3 | 一班 | | 一班 | | 4 | 二班 | | 二班

new-asp.net update GRIDVIEW时如何把update的数据INSERT到另一张表

问题描述 asp.net update GRIDVIEW时如何把update的数据INSERT到另一张表 如题 最好有代码 谢谢 protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection("Provider=msdaora;Data So

mysql把一个表某个字段的内容复制到另一张表的某个字段的SQL语句写法

 有时候,我们需要复制某个字段一整列的数据到另外一个新的字段中,或是需要把某个表的某个字段的值跨表复制到另一个表中的某个字段,本文就罗列了一些SQL语句写法,需要的朋友可以参考下   需求:把一个表某个字段内容复制到另一张表的某个字段.   实现sql语句1:     代码如下: UPDATE file_manager_folder f1 LEFT OUTER JOIN file_manager_folder f2      ON f1.name = f2.name AND f2.parentI