[MS-SQL]트리거에서 데이터 변경하기...
CREATE TRIGGER [dbo].[ut_t_receiptlist_01]
ON [dbo].[T_RECEIPTLIST]
FOR INSERT
AS
DECLARE @mrseq
INT
DECLARE @mdate
VARCHAR (10)
DECLARE @receive_seq
INT
DECLARE @max_receive_seq
INT
/***************************************************/
/* 입력된 Data 로 부터 mrseq, mdate, receive_seq select */
/***************************************************/
SELECT @mrseq = mrseq,
@mdate = mdate,
@receive_seq = receive_seq
FROM inserted
/*********************************************/
/* max receive_seq select */
/*********************************************/
SELECT @max_receive_seq = MAX (RECEIVE_SEQ)
FROM T_DUAL
WHERE @mdate BETWEEN MSDATE AND MPDATE
/****************************************************/
/* max receive_seq 와 receive_seq 비교하여 다를경우
update */
/****************************************************/
IF @receive_seq <> @max_receive_seq
BEGIN
UPDATE T_RECEIPTLIST
SET receive_seq = @max_receive_seq
WHERE 1 = 1 AND mrseq = @mrseq
END
GO
ON [dbo].[T_RECEIPTLIST]
FOR INSERT
AS
DECLARE @mrseq
INT
DECLARE @mdate
VARCHAR (10)
DECLARE @receive_seq
INT
DECLARE @max_receive_seq
INT
/***************************************************/
/* 입력된 Data 로 부터 mrseq, mdate, receive_seq select */
/***************************************************/
SELECT @mrseq = mrseq,
@mdate = mdate,
@receive_seq = receive_seq
FROM inserted
/*********************************************/
/* max receive_seq select */
/*********************************************/
SELECT @max_receive_seq = MAX (RECEIVE_SEQ)
FROM T_DUAL
WHERE @mdate BETWEEN MSDATE AND MPDATE
/****************************************************/
/* max receive_seq 와 receive_seq 비교하여 다를경우
update */
/****************************************************/
IF @receive_seq <> @max_receive_seq
BEGIN
UPDATE T_RECEIPTLIST
SET receive_seq = @max_receive_seq
WHERE 1 = 1 AND mrseq = @mrseq
END
GO