用存储来更新多表
我的存储是这样写的
CREATE PROCEDURE dt_cyup
@cy_bah varchar(9),
@cy_cwh varchar(10),
@cy_ksmc varchar(10),
@cy_czy varchar(10),
@cy_yj money
as
begin tran t1
update cw set sy="1" where cwh=@cy_cwh and ksmc=@cy_ksmc;
update brk set 当前状态="3",出院日期=getdate(),出院办理员=@cy_czy where 住院号=@cy_bah;
update 住院用药 set 当前状态="3" where 住院号=@cy_bah and 当前状态="1";
update brfy set 当前状态="3" where 住院号=@cy_bah and 当前状态="1";
if @cy_yj<>0
begin
insert into yj(住院号,押金金额,操作员,押金说明) values(@cy_bah,@cy_yj,@cy_czy,"出院预交");
end
commit tran t1
GO
//是这样调用的
DECLARE my_cyup PROCEDURE FOR dt_cyup
@cy_bah=:h_b.bah_1,
@cy_cwh=:h_b.cw_1,
@cy_ksmc=:h_b.ksmc_1,
@cy_czy=:czy_1,
@cy_yj=:yj_2
using sqlca;
execute my_cyup;
if sqlca.sqlcode<>0 then
messagebox("系统提示","此病人出院被终止"+sqlca.sqlerrtext)
close my_cyup;
return
end if
close my_cyup;
上面的存储写得对不对主要是默认值的写法,出院日期=getdate()
还有调用对不对有没有其它调用方法我是多表更新要不一表更新后时行检测以并进行下一表更新.
多谢大家的指点