ORACLE里面的存储过程(没有问题):
create or replace procedure SP_CL7200_BFBF
(ps_sblb in jl_qianfda.jiafsblx%type,
ps_sbzcbh in jl_qianfda.jiafsbzch%type)
as
begin
--该存储过程用来将某个计量设备上安装的封印全部报废, 该存储过程应三水要求添加,
--给MIS系统程序调用,封印系统并无使用该存储过程。除三水外,其他地方也无需建该存储过程。
--ps_sblb: 设备类别,varchar2, '电能表' / '互感器' / '计量箱'
--ps_sbzcbh: 设别资产编号,varchar2
declare
s_zcbh varchar2(20);
s_lyr varchar2(10);
cursor cur_bf is select zich,linyr from jl_qianfda
where jiafsblx = ps_sblb
and jiafsbzch = ps_sbzcbh
and dangqzt = '运行';
begin
open cur_bf;
loop
fetch cur_bf into s_zcbh,s_lyr;
exit when cur_bf%notfound;
update jl_qianfda
set dangqzt = '报废',
zhuangtrq = sysdate
where zich = s_zcbh; insert into cl7200_smfyxjl (s_zcbh,d_czsj,n_czlb,s_sblb,s_sbbh,
s_czms,s_czr,s_glgzdh) values (
s_zcbh,sysdate,5,ps_sblb,ps_sbzcbh,'从计量管理系统执行',s_lyr,Null); dbms_output.put_line('封印 ' || s_zcbh || ' 已报废');
end loop;
close cur_bf;
end;
end;
create or replace procedure SP_CL7200_BFBF
(ps_sblb in jl_qianfda.jiafsblx%type,
ps_sbzcbh in jl_qianfda.jiafsbzch%type)
as
begin
--该存储过程用来将某个计量设备上安装的封印全部报废, 该存储过程应三水要求添加,
--给MIS系统程序调用,封印系统并无使用该存储过程。除三水外,其他地方也无需建该存储过程。
--ps_sblb: 设备类别,varchar2, '电能表' / '互感器' / '计量箱'
--ps_sbzcbh: 设别资产编号,varchar2
declare
s_zcbh varchar2(20);
s_lyr varchar2(10);
cursor cur_bf is select zich,linyr from jl_qianfda
where jiafsblx = ps_sblb
and jiafsbzch = ps_sbzcbh
and dangqzt = '运行';
begin
open cur_bf;
loop
fetch cur_bf into s_zcbh,s_lyr;
exit when cur_bf%notfound;
update jl_qianfda
set dangqzt = '报废',
zhuangtrq = sysdate
where zich = s_zcbh; insert into cl7200_smfyxjl (s_zcbh,d_czsj,n_czlb,s_sblb,s_sbbh,
s_czms,s_czr,s_glgzdh) values (
s_zcbh,sysdate,5,ps_sblb,ps_sbzcbh,'从计量管理系统执行',s_lyr,Null); dbms_output.put_line('封印 ' || s_zcbh || ' 已报废');
end loop;
close cur_bf;
end;
end;
解决方案 »
- 这句SQL语句还能优化吗?
- SQL 2K DTS 如何一次将一个库的所有表的数据导出到文本文件?
- 求一个比较简单的SQL语句, 主从表数据汇总问题,由于数据量较大,需要考虑到执行效率.
- 计算5天后果生日的顾客
- 一个管理问题---分别导出表的内容(10万火急)
- win2K启动时发生错误,怀疑与SQLserver2K有关。
- XP上能装SQL2000的服务器组件吗?
- 急!看看這個SQL應如何寫.急...請教~~~~~~
- 在存储过程的查询语句中select * from 后面的表名是否可以用变量?如:@table1,执行之前给变量@table1赋值。
- 如何实现移动加权平均算法??分不够再加
- 关于一个表中数据的显示问题????
- 求一查询
@ps_sblb [Type--自己选择],
@ps_sbzcbh [Type--自己选择]
as
--该存储过程用来将某个计量设备上安装的封印全部报废, 该存储过程应三水要求添加,
--给MIS系统程序调用,封印系统并无使用该存储过程。除三水外,其他地方也无需建该存储过程。
--ps_sblb: 设备类别,varchar2, '电能表' / '互感器' / '计量箱'
--ps_sbzcbh: 设别资产编号,varchar2
declare @s_zcbh varchar(20),@s_lyr varchar(10)
Declare cur_bf cursor for select zich,linyr from jl_qianfda
where jiafsblx = @ps_sblb
and jiafsbzch = @ps_sbzcbh
and dangqzt = '运行';
Open cur_bf
fetch cur_bf into @s_zcbh,@s_lyr
while @@fetch_status = 0
Begin
update jl_qianfda
set dangqzt = '报废',
zhuangtrq = sysdate
where zich = @s_zcbh insert into cl7200_smfyxjl (s_zcbh,d_czsj,n_czlb,s_sblb,
s_sbbh,s_czms,s_czr,s_glgzdh)
values ( @s_zcbh,getdate(),5,@ps_sblb,@ps_sbzcbh,'从计量管理系统执行',@s_lyr,Null); --下面这个不知道什么意思!
dbms_output.put_line('封印 ' || s_zcbh || ' 已报废'); fetch cur_bf into s_zcbh,s_lyr
End
close cur_bf
Deallocate cur_bf
dbms_output.put_line('封印 ' || s_zcbh || ' 已报废');
fetch cur_bf into s_zcbh,s_lyr应该是:--下面这个不知道什么意思!
dbms_output.put_line('封印 ' || s_zcbh || ' 已报废');
fetch cur_bf into @s_zcbh,@s_lyr