求一段Oracle存储过程

目的是:有A,B两张表,有一个相同的字段field,遍历B表 如果A表中 aField=bField ,更新A表aType=1
非常感谢

4个回答

不好意思有发错了 字段忘给你改了
[code="java"]
create procedure pro
as
begin
update a set aType=1 where aField in (select bField from b)
end
go
[/code]

[code="sql"]
create procedure a_b
@str varchar(255)
as
begin
update a set aType=1 where aField in (select bField from b)
end
go
[/code]
试一试看看好使不 不好使在给你写

对了 往把@str q去掉了
最后是这样的:
[code="sql"]
create procedure pro
as
begin
update a set password='1' where userName in (select userName from b)
end
go
[/code]
执行是[code="sql"]exec pro;[/code]

1、尽量用exits;
2、用存储过程注意提交;

CREATE OR REPLACE PROCEDURE proName
begin
update a set aType=1 where exists (select 1 from bField where a.aField=b.bField);
commit;
end;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问