728x90
Oracle 데이터베이스 SQL 문장에서 에러가 발생한 위치를 찾기 위해서는 PL/SQL 코드를 실행 시켜야 한다.
declare
error_sql varchar(1000); -- SQL 문장 담을 변수
error_pos number default -1; -- 에러 위치 값을 담을 변수
vc_cur integer default dbms_sql.open_cursor; -- 커서 열기
begin
-- 테스트 대상 SQL 문장
error_sql := 'select * from dual where name = jayden-lee';
begin
dbms_sql.parse( vc_cur, error_sql, dbms_sql.native ); -- 파싱
exception
when others then
error_pos := dbms_sql.last_error_position;
end;
dbms_sql.close_cursor( vc_cur ); -- 커서닫기
dbms_output.put_line(error_sql); -- SQL 출력
if error_pos > -1 then dbms_output.put_line('SQL Error Position : ' || error_pos);
else dbms_output.put_line('SQL No Error');
end if;
end;
Output(결과값)으로는 테스트 SQL 문장에서 에러가 발생한 위치 값이 출력된다.
'Database' 카테고리의 다른 글
티베로 데이터베이스 버전 확인 (1) | 2019.04.12 |
---|---|
티베로 테이블스페이스(Tablespace) 조회 (0) | 2019.04.12 |
티베로 시퀀스 생성, 삭제, 변경, 목록 조회 (0) | 2019.04.12 |
MySQL AutoCommit 설정 (0) | 2019.04.11 |
MySQL 현재 데이터베이스 조회 및 변경 (0) | 2019.04.11 |
댓글