Mssql 기본적인 Trigger (Insert)
-- Insert
ALTER trigger [dbo].[utr_mpilb01i] on [dbo].[mpilb01t]
for insert as
declare @lv_msg varchar(100),
@errcode smallint,
@gubun char(01),
@chk char(01)
Set @gubun = (select gubun from inserted)
Set @chk = (select chk from inserted)
-- 작업지시서 미연결 추가시 자동으로 작업지시 생성
IF (@gubun = 'Y') and (@chk = 'I')
BEGIN
insert into mpasg01t
( adate, juya, machinecd, seq, itemcd, rank, prodqty, gubun,
/*planqty, resin, color, originalcavity, cavity, toolno, chasu, */
entrydt, entrynm)
select a.adate, a.juya, a.machinecd, a.seq, a.itemcd, 0, a.workqty,a.gubun,
/*a.planqty, a.resin, a.color, a.originalcavity, a.cavity, a.toolno, a.chasu, */
a.entrydt, a.entrynm
from inserted a
if @@error <> 0
begin
select @errcode = -1
goto error_process
end
END
IF @gubun = 'N'
BEGIN
-- 작업지시서에 생산수량 update
update a
set a.prodqty = b.workqty
from mpasg01t a, inserted b
where a.adate = b.adate
and a.juya = b.juya
and a.machinecd = b.machinecd
and a.seq = b.seq
if @@error <> 0
begin
select @errcode = -1
goto error_process
end
END
return
-- 에러체크
error_process:
SELECT @lv_msg = 'Trigger INSERT ERROR!~ (mplib01t)' + '(' + convert(varchar,@errcode) + ')'
RAISERROR (@lv_msg, 16, 1)