상황 : 트리거로 특정 테이블에 업데이트시에
사용자가 입력한 특정 값을 프로시져로 가공한 후 업데이트를 해야 하는 상황
이슈 : where 절에 입력하는 조건절을 미리 알수 없을 경우 조건절을 사용자가 입력한 조건절을 입력 받는 방법이 없을까요?
쿼리는 아래와 같습니다.
조언 부탁 드립니다.
DROP TRIGGER TEST_TABLE_TR;
CREATE OR REPLACE TRIGGER TEST_TABLE_TR
INSTEAD OF INSERT OR UPDATE
ON TEST_TABLE
FOR EACH ROW
BEGIN
IF :NEW.a_data IS NOT NULL
THEN
IF INSERTING
THEN
INSERT INTO TEST_TABLE (IDX, a_data, REG_DATE)
VALUES (
:NEW.IDX,
CASE
WHEN :NEW.a_data IS NULL THEN :NEW.a_data
ELSE aaa (:NEW.a_data, NULL, 0)
END,
:NEW.REG_DATE);
END IF;
IF UPDATING
THEN
UPDATE TEST_TABLE
SET IDX = :NEW.IDX,
JUMIN =
CASE
WHEN :NEW.a_data IS NULL THEN :NEW.a_data
ELSE aaa (:NEW.a_data, NULL, 0)
END,
REG_DATE = :NEW.REG_DATE
WHERE IDX = :NEW.IDX;
END IF;
END IF;
|