create or replace procedure ry_JBXXSH
(
v_rybh in ry_jbxx.rybh%type, v_sfbs out ry_jbxx.sfbs%type,v_shjg out ry_jbxx.shjg%type,v_shrqz out ry_jbxx.shrqz%type,v_shzh out ry_jbxx.shzh%type)
as
v_rybh ry_jbxx.rybh%type;
begin
select
update ry_jbxx
set
sfbs = v_sfbs,
shjg = v_shjg,
shrqz = v_shrqz,
shzh = v_shzh,
where rybh = v_rybh;
select sfbs,shjg,shrqz,shzh into v_sfbs,v_shjg,v_shrqz,v_shzh from ry_jbxx where rybh = v_rybh;
exception
when no_data_found then
raise_application_error(-20001,'人员编号不存在');
end ry_JBXXSH;
(
v_rybh in ry_jbxx.rybh%type, v_sfbs out ry_jbxx.sfbs%type,v_shjg out ry_jbxx.shjg%type,v_shrqz out ry_jbxx.shrqz%type,v_shzh out ry_jbxx.shzh%type)
as
v_rybh ry_jbxx.rybh%type;
begin
select
update ry_jbxx
set
sfbs = v_sfbs,
shjg = v_shjg,
shrqz = v_shrqz,
shzh = v_shzh,
where rybh = v_rybh;
select sfbs,shjg,shrqz,shzh into v_sfbs,v_shjg,v_shrqz,v_shzh from ry_jbxx where rybh = v_rybh;
exception
when no_data_found then
raise_application_error(-20001,'人员编号不存在');
end ry_JBXXSH;
解决方案 »
- 如何使用plsql查询查找一块表的时间
- 关于BlOB对象的修改的存储过程
- 自动建立表空间,比如每到一个月的开始,就自动建立一个以时间命名的表空间
- 高分求救:用imp导入数据库出现kgepop: no error frame to pop to for error 21500
- ADO 问题 请教 救我啊!大虾!
- 在ORACLE存储过程中能不能将一个字符串分割成数组
- 怎样正确的链接两个字符串?谢谢!100分敬上
- 怎样VB在中添加和查询一个CLOB字段,解决送200分..
- 怎样插入一个这样的字段(100分)
- azure云上 在线将oracle单实例扩展成oracle dataguard高可用集群的详细过程
- 帮忙看看
- oracle字符集的问题
----try it
create or replace procedure ry_JBXXSH(v_rybh in out ry_jbxx.rybh%type,
v_sfbs in out ry_jbxx.sfbs%type, ---首先这里应该是参数类型为in,out,因为你既做为了入参,也做为了出参
v_shjg in out ry_jbxx.shjg%type,
v_shrqz in out ry_jbxx.shrqz%type,
v_shzh in out ry_jbxx.shzh%type) as
v_rybh ry_jbxx.rybh%type;
begin
update ry_jbxx
set (sfbs, shjg, shrqz, shzh) = (v_sfbs, v_shjg, v_shrqz, v_shzh) -----这里应该是这样
where rybh = v_rybh;
select sfbs, shjg, shrqz, shzh
into v_sfbs, v_shjg, v_shrqz, v_shzh
from ry_jbxx
where rybh = v_rybh;
exception
when no_data_found then
raise_application_error(-20001, '人员编号不存在');
when others then
raise_application_error(-20001, '其他作物');
end ry_JBXXSH;
错误提示 UPDATE....SET 表达式必须是子查询 是什么意思啊
shjg =v_shjg,
shrqz=v_shrqz,
shzh=v_shzh 这么写 就不会报错了 谢谢你了
(v_rybh in ry_jbxx.rybh%type, v_sfbs out ry_jbxx.sfbs%type,v_shjg out ry_jbxx.shjg%type,v_shrqz out ry_jbxx.shrqz%type,v_shzh out ry_jbxx.shzh%type)
as
v_rybh ry_jbxx.rybh%type;
begin
select sfbs,shjg,shrqz,shzh into v_sfbs,v_shjg,v_shrqz,v_shzh from ry_jbxx where rybh = v_rybh;
update ry_jbxx set sfbs = v_sfbs,shjg = v_shjg,shrqz = v_shrqz,shzh = v_shzh,
where rybh = v_rybh;
exception
when no_data_found then
raise_application_error(-20001,'人员编号不存在');
end ry_JBXXSH;
--orcreate or replace procedure ry_JBXXSH
(v_rybh in ry_jbxx.rybh%type, v_sfbs in out ry_jbxx.sfbs%type,v_shjg in out ry_jbxx.shjg%type,v_shrqz in out ry_jbxx.shrqz%type,v_shzh in out ry_jbxx.shzh%type)
as
v_rybh ry_jbxx.rybh%type;
beginupdate ry_jbxx set sfbs = v_sfbs,shjg = v_shjg,shrqz = v_shrqz,shzh = v_shzh,
where rybh = v_rybh;
select sfbs,shjg,shrqz,shzh into v_sfbs,v_shjg,v_shrqz,v_shzh from ry_jbxx where rybh = v_rybh;
exception
when no_data_found then
raise_application_error(-20001,'人员编号不存在');
end ry_JBXXSH;