여기에 문제가 있습니다.SQL 업데이트 테이블 전후에 값을 기록하려고합니다.
DB : 오라클 9i의
나는 내가 새 값으로 이전 값을 비교하려면 로그인이 내 테이블, 에 UPDATE
스크립트를 실행 한 후 데이터 변경 사항을 저장합니다.
어떻게하면됩니까? 저를 도와 주셔서
감사합니다 :)
는여기에 문제가 있습니다.SQL 업데이트 테이블 전후에 값을 기록하려고합니다.
DB : 오라클 9i의
나는 내가 새 값으로 이전 값을 비교하려면 로그인이 내 테이블, 에 UPDATE
스크립트를 실행 한 후 데이터 변경 사항을 저장합니다.
어떻게하면됩니까? 저를 도와 주셔서
감사합니다 :)
는를 사용하여 간단한 트리거를 쓰기 : OLD 및 :이
create or replace
trigger tg_name
after UPDATE ON table_name
for each row
BEGIN
IF :NEW.column1 = :OLD.column1 THEN
-- any statement
END IF;
-- you can log the old and new value by inserting into log table's too..
END;
당신은 할 수 있습니다 NEW 당신이 테이블의 신규 및 이전 값의 값을 얻을 수 있습니다 업데이트 후 트리거하고 원하는 각 필드에 old 및 : new 값을 사용할 수 있습니다.
업데이트 된 값만 필요하면 RETURNING 절을 사용할 수 있습니다.
UPDATE <table> SET (c1) = (v1), (c2) = (v2), (cn) = (vn) WHERE <condition> RETURNING <expression> INTO <variables>