oracle执行多条语句临时变量问题

unm 2009-11-04 11:23:56
我多个sql语句想执行,中间还带变量的,请问这个直接执行可以吗?或者用存储过程?

DECLARE mKeyID INT;
begin
update hr_leave set NAME= '11' ,STATUS= '1' ,ID= '1' ,DEPARTMENT= '11' ,TIME= '11' ,EMPLOYEE= '11' where id='1';
mKeyID := 1;
update hr_leave_work set TIME= 'ggg' ,CONTENT= 'ffff' ,ID= '1' ,LID=@mKeyID,TITLE= 'ttt' where ID='1';
update hr_leave_work set TIME= '33' ,CONTENT= '3' ,ID= '3' ,LID=@mKeyID,TITLE= '3' where ID='3';
end;

或者如下语句:
DECLARE mKeyID INT;
begin
insert into hr_leave(id,name,age)values(seq_leavve_work.nextval,'aa',22);
select seq_leave_work.currval into mKeyID from dual;
update hr_leave_work set TIME= 'ggg' ,CONTENT= 'ffff' ,ID= '1' ,LID=@mKeyID,TITLE= 'ttt' where ID='1';
update hr_leave_work set TIME= '33' ,CONTENT= '3' ,ID= '3' ,LID=@mKeyID,TITLE= '3' where ID='3';
end;


就是我想第一个语句插入,获取最新值作为后面语句的键值,执行不通过,哪位给看看
...全文
190 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
inthirties 2009-11-05
  • 打赏
  • 举报
回复
试试returning into
liusong_china 2009-11-05
  • 打赏
  • 举报
回复
oracle不用@,
把@mKeyID替换成mKeyID。。。。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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