34,588
社区成员
发帖
与我相关
我的任务
分享
create proc proc_AddSheetPlan
@SheetCode varchar(10),
@MakePerson varchar(10),
....... -->这里被完参数
as
set nocount on
begin tran
INSERT INTO SheetPlan(SheetCode,MakePerson,PlanDate,SheetLink,Mark)VALUES(@SheetCode,@MakePerson,@PlanDate,@SheetLink,@Mark)
if @@error<>0 goto errhandle
INSERT INTO SheetPlanItem(SheetCode,CustName,ProName,Std,ColorName,TankNo,UnitT,QtyT,UnitW,QtyW,UnitJ,QtyJ,Perg,SheetLink,Mark)
VALUES(@SheetCode,@CustName,@ProName,@Std,@ColorName,@TankNo,@UnitT,@QtyT,@UnitW,@QtyW,@UnitJ,@QtyJ,@Perg,@SheetLink,@Mark)
if @@error<>0 goto errhandle
commit tran
return
errhandle:
rollback tran
go
create proc dbo.proc_insert_update
@flag int
as
;MERGE SheetPlanItem AS a
(
SELECT SheetCode,MakePerson,PlanDate,SheetLink,Mark FROM SheetPlan
) AS b ON a.SheetCode=b.SheetCode
WHEN MATCHED AND @flag=0 THEN
INSERT INTO ....
WHEN NOT MATCHED AND @flag=1
THEN
UPDATE .....
go
create proc dbo.proc_insert_update
@flag int,其他参数定义
as
if @flag = 1
begin
INSERT INTO SheetPlan(SheetCode,MakePerson,PlanDate,SheetLink,Mark)VALUES(@SheetCode,@MakePerson,@PlanDate,@SheetLink,@Mark)
--从表(子表):
INSERT INTO SheetPlanItem(SheetCode,CustName,ProName,Std,ColorName,TankNo,UnitT,QtyT,UnitW,QtyW,UnitJ,QtyJ,Perg,SheetLink,Mark)VALUES(@SheetCode,@CustName,@ProName,@Std,@ColorName,@TankNo,@UnitT,@QtyT,@UnitW,@QtyW,@UnitJ,@QtyJ,@Perg,@SheetLink,@Mark)
end
else
begin
update SheetPlan set 列= 值,...
update SheetPlanItem set 列=值
end
go
看来是两步走了??
看来是两步走了??