프로시저 생성 시 테이블 확인은 하지 않는다
목차
요약
- 프로시저 생성 시에는 쿼리 구문의 유효성만을 검사한다.
상황
- 익일 업무를 위해 개발DB에서 테스트 했던 프로시저를 운영DB에도 반영하기 위해 프로시저 생성
- 하지만 SELECT 하는 테이블이 생성되지 않은 상태에서 프로시저를 생성 했고 에러 없이 정상 생성됨에서 의아함을 느낌
원인
- 프로시저 생성 시에는 존재하지 않는 테이블의 참조에 대해서는 확인하지 않음.
- 쿼리 구문 자체의 유효성 검사만 수행하며 유효하지 않은 쿼리라면 프로시저 실행 시 에러가 발생함
- 주요 RDBMS인 ORACLE, MySQL, PostgreSQL, MSSQL 에서 동일하게 동작함
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.