SQL编写一个存储过程

来源:百度知道 编辑:UC知道 时间:2024/05/25 09:07:04
编写一个存储过程能根据用户提供WPH(物品号),RCKS(入出库数)进行入出库处理
KCB(WPH CHAR(6), KCS DECIMAL(10,2))是库存表.
其中KCS为库存数,RCKMXB(WPH CHAR(6),RCKS DECIMAL(10,2),RCBZ BIT,RCKQ DATETIME)是入出库明细表,其中RCBZ为入出库标志(1为入库,0为出库),RCRQ为入出库日期.

Create Proc Pr_RKCHULI
@WPH CHAR(6),
@RCKS DECIMAL(10,2),
@RCBZ integer --你还应该输入一个出入库的标志,这样才知道当前用户是执行出库或者入库操作
as
if exists(select WPH from KCB where WPH=@WPH) --判断如用输入的物品在库存表中是否存在
begin --存在就update
update KCB set RCKS=isnull(RCKS,0)+@RCKS where WPH=@WPH
end
else -- 不存在就 insert
begin
insert into KCB(WPH,KCS) values(@WPH,@RCKS)
end

insert into RCKMXB(WPH,RCKS,RCBZ,RCKQ)values(@WPH,@RCKS,@RCBZ,getdate())

感觉怎么这么混乱啊
情理上也应该是

拿着 入出库明细表
来修改 库存表 啊