存储过程
时间:2011-11-24
来源:互联网
2.student表里面根据test表已经取出的name与 student表里面的name1匹配,最后取出student表里面的id
3.再根据test表里面的字段name 与 student表里面的name1相同 把 student表的id插入test表里面的oid
procedure df_id is
v_subg3efid number;
cursor cur is (select name
from test t);
begin
for cur_result in cur loop
begin
select id
into v_subid
from student
where rownum = 1
and name1 = cur_result.name;
update test t
set t.oid = v_subid
where t.name1 = cur_result.name;
end;
end loop;
commit ;
end df_id;
为什么这样写的存储过程会没有任何效果?
作者: shper87298 发布时间: 2011-11-24
SQL语句就可以实现吧。
作者: yixilan 发布时间: 2011-11-24
用merge into实现!@
作者: cosio 发布时间: 2011-11-24
--merge into 一个sql解决,为啥用存储过程。 MERGE INTO TEST a USING student b ON(a.name = b.name1) WHEN MATCHED THEN UPDATE SET a.oid = b.id;
作者: BenChiM888 发布时间: 2011-11-24

看到的时候是一楼,写完了变成3楼了。
SQL code
--merge into 一个sql解决,为啥用存储过程。
MERGE INTO TEST a
USING student b
ON(a.name = b.name1)
WHEN MATCHED THEN
UPDATE SET a.oid = b.id;
作者: BenChiM888 发布时间: 2011-11-24
看到的时候是一楼,写完了变成3楼了。
引用 3 楼 benchim888 的回复:
SQL code
--merge into 一个sql解决,为啥用存储过程。
MERGE INTO TEST a
USING student b
ON(a.name = b.name1)
WHEN MATCHED THEN
UPDATE SET a.oid = b.id;
现在就是不能用SQL语句,希望能用存储过程弄出来呢。= =。现在是只能update了第一条数据,第二条没变。求指导·
作者: shper87298 发布时间: 2011-11-24
作者: cosio 发布时间: 2011-11-24
cursor cur is select *
from test t;
cur_result test%rowtype;
v_subg3efid number;
begin
for cur_result in cur loop
select id
into v_subid
from student
where rownum = 1
and name1 = cur_result.name;
update test t
set t.oid = v_subid
where t.name1 = cur_result.name;
end loop;
commit;
end df_id ;
这是最新的。 跪求指导呀·
作者: shper87298 发布时间: 2011-11-24
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28