테이블1. 회원테이블 CREATE TABLE tbl_member( id VARCHAR2(6), name VARCHAR2(15) NOT NULL, birth DATE NOT NULL, address VARCHAR2(300) NOT NULL, pw VARCHAR2(300) NOT NULL, email VARCHAR2(300), grade CHAR(1) DEFAULT 'A', CONSTRAINT pk_member_id PRIMARY KEY(id) )
테이블2. 삭제 히스토리 테이블
CREATE TABLE tbl_delete_member( id VARCHAR2(6), name VARCHAR2(15), deletedate DATE )
트리거
CREATE or REPLACE TRIGGER tr_delete AFTER DELETE ON tbl_member FOR EACH ROW BEGIN INSERT INTO tbl_delete_member VALUES (old.id, old.name, curdate()); END; /
여기저기 정보 찾으면서 수정해봤는데
delete 시 insert 트리거가 잘 안되서 질문드리려 왔습니다
어디서 오류가 난걸까요 ??
고수님들 조언 구하고자 합니다
감사합니다 마농님
CREATE or REPLACE TRIGGER tr_delete AFTER DELETE ON tbl_member FOR EACH ROW BEGIN INSERT INTO tbl_delete_member VALUES (:old.id, :old.name, SYSDATE); END; /
말씀하신대로 수정하니 트리거 생성에는 성공했습니다
그런데
### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-04098: trigger 'DW5.TBL_DELETE_MEMBER' is invalid and failed re-validation
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: DELETE FROM tbl_member WHERE id = ? AND pw = ?
### Cause: java.sql.SQLSyntaxErrorException: ORA-04098: trigger 'DW5.TBL_DELETE_MEMBER' is invalid and failed re-validation
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-04098: trigger 'DW5.TBL_DELETE_MEMBER' is invalid and failed re-validation
]을(를) 발생시켰습니다.
java.sql.SQLSyntaxErrorException: ORA-04098: trigger 'DW5.TBL_DELETE_MEMBER' is invalid and failed re-validation
재컴파일도 해보고 트리거 삭제 후 재생성도 해보았는데 같은 오류가 발생합니다
delete 시 where 절로 id, pw 를 주어서 트리거 테이블에도 필요한가 해서 추가해봤는데 그것도 안되네요
혹시 해결 방안을 알고 계실까요 ??