다른 업데이트/삽입/삭제 작업을 기록하기 위해 'updateinfo'테이블을 갖고 싶습니다. 오라클에서SQL 트리거를 사용하여 영향을받는 열의 행 번호를
나는이 작성했습니다 :
이 updateinfo 테이블 만들기 (rnumber 번호 (10), TABLENAME VARCHAR2 (100 BYTE), 액션 VARCHAR2 (100 BYTE), UPDATE_DATE 일)
DROP TRIGGER TRI_TABLE ;
(rnumber, TABLENAME
가 AFTER 삭제, 삽입 또는 UPDATE 데모 NEW OLD AS OLD EACH ROW FOR
새로운를 참조
ON
가 updateinfo으로 다음
삽입물을 삽입
경우를 BEGIN CREATE OR TRIGGER TRI_TABLE 교체 , action, update_date) 값 (rownum, 'demo', 'insert', sysdate);
elsif 업데이트
updateinfo (rnumber, tablename, action, update_date) 값 (rownum, 'demo', 'update', sysdate)에 삽입하십시오.
elsif 삭제 후
updateinfo (rnumber, tablename, action, update_date) 값 (rownum, 'demo', 'delete', sysdate)에 삽입하십시오.
end if; 다른 것들은 THEN
때 - -
- EXCEPTION
RAISE - 다음 에러를 기록하고 고려
다시 상승
END TRI_TABLE;
그러나 updateinfo를 검사 할 때 모든 rnumber 열은 0입니다. 올바른 행 번호를 검색하는 방법이 있습니까?
데이터의 관계형 모델에는 "행 번호"와 같은 것이 없으며 단순히 개념이 적용되지 않습니다. –