티스토리 뷰

-- 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)

댓글