특정 값(1)이 들어오면 자동으로 해당 컬럼을 업데이트 해주는 트리거를 작성중인데 맞는지 확인 부탁드리겠습니다!
다른값에서 state 1로 업데이트시 트리거 통해서 state 컬럼에 5로 업데이트를 하고 싶습니다
CREATE TRIGGER REQUEST ON REQQ
AFTER UDATE
AS
DECLARE @state varchar(10)
SELECT @state = '5' FROM INSERTED
BEGIN
UPDATE REQQ SET state = @state WHERE state = '1'
END
현재 입력된 값이 1 인지 확인하는 프로세스(IF 문 등)가 있어야 하고
있을 때에만 5로 업데이트 하면 됩니다.
업데이트 조건은 상태 조건이 아닌 키(PK) 조건이어야 하구요.
감사합니다 말씀해주신데로 수정을 했는데 확인 한 번 부탁드리겠습니다!
(해당 테이블에 PK가 인덱스 번호라 where절을 아래처럼 했습니다)
CREATE TRIGGER REQUEST ON REQQ
AFTER UDATE
AS
DECLARE @state varchar(10)
SELECT @state = ' ' FROM INSERTED
IF @state = '1'
BEGIN
UPDATE REQQ SET state = '5' WHERE 1=1
END
-- 문법이 맞는지는 장담 못하지만
-- 이런 느낌으로 작성해야 합니다.
CREATE TRIGGER REQUEST ON REQQ
AFTER UPDATE
AS
DECLARE @state varchar(10)
DECLARE @PK varchar(10)
SELECT @state = state
, @PK = pk
FROM INSERTED
IF @state = '1'
BEGIN
UPDATE REQQ
SET state = '5'
WHERE pk = @PK
END