트리거 생성시 테이블 없습니다라는 에러 발생 (동일한 테이블명 다른 스키마) 0 6 2,946

by 부족한놈 [Oracle 기초] [2015.01.14 11:16:06]


목록에서 답변을 못찾아 질문을 드립니다. ^^;

개발 서버와 검증서버에 트리거를 생성하는데 개발 서버에는 에러가 발생하지 않고

검증 서버에 ora-00942 테이블이 없다는 에러가 발생합니다.

두개 서버에 테이블은 존재 하며

트리거는 select 후 존재하는 건에는 update 없는건에는 insert하는 내용입니다.

차이점은 검증서버에는 다른 스키마로 동일한 테이블명의 테이블이 존재한다는 겁니다.

트리거 구문에 스키마를 명시하지 않아 발생한 에러라 추축되는데

위 00942에러가 발생하는게 맞나요? 아니면 다른 원인 때문인가요?

업무 환경상 트리거 구문은 첨부 할 수 없습니다.

읽어주셔서 감사합니다. 꾸벅 ^^

by 신이만든짝퉁 [2015.01.14 12:06:08]

추측하신 게 맞는 것 같습니다.

1. 권한문제 확인 : select, insert 하려는 계정에서 insert 되는 테이블 계정으로  select, insert 권한 확인

2. 트리거에서 해당테이블의 계정명 명시여부 확인


by 부족한놈 [2015.01.14 16:09:33]

트리거 생성 구문에 해당 스키마를 넣어서 해결했습니다.

예상했던 원인이 맞았습니다.


by 마농 [2015.01.14 13:06:46]

테이블이 존재한다는 확신을 가지고 다른데서 원인을 찾고 계신 것 같은데요.
과연 에러메시지가 거짓말을 했을까요?
테이블이 실제로 존재하는지부터 꼼꼼하게 체크해 보세요.


by 부족한놈 [2015.01.14 15:46:09]

테이블 존재 확인 했습니다.

트리거 구문에 테이블 앞에 스키마가 없었고 개발서버와 차이점은

다른 계정으로 해당 테이블이 백업이 되어 있어  위 질문 처럼 추측 했습니다. ^^


by 마농 [2015.01.14 16:44:32]

트리거 생성 계정과 테이블 계정이 다른건가요?

그렇다면 계정명 안적어주면 당연히 에러납니다.

개발 환경에서는 계정명 안적어도 정상 동작했다면?

개발환경엔 시노님을 만들어 놓은 것이 아닐까 생각되네요.


by 부족한놈 [2015.01.15 08:40:08]

네 감사합니다. ^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입