사용자 예외 처리시 RAISE_APPLICATION_ERROR 구문을 사용하는데, 예외 상황이 발생할 경우 ORA-06512 메시지가 같이 나오더군요. 구루비 커뮤니티에서 사용자가 정의한 오류만 출력하는 방법에 대한 질문글이 있어서 나중에 참고도 할겸 찾아보았습니다. 먼저 구루비 커뮤니티 강좌의 사용자 정의 예외 예제입니다. (www.gurubee.net/lecture/1073) CREATE OR REPLACE PROCEDURE User_Exception (v_deptno IN emp.deptno%type ) IS -- 예외의 이름을 선언 user_define_error EXCEPTION; -- STEP 1 cnt NUMBER; BEGIN DBMS_OUTPUT.ENABLE; SELECT COUNT(emp..
안타깝게도 인포믹스 12.10.xC14버전에서 추가로 확인된 defect 정보입니다. 이번에는 CHAR_LENGTH 함수의 문제인데요. 지난번 LPAD/RPAD 함수 사용시 발생하는 오류와 유사합니다. 오류가 발생하는 조건은 아래와 같습니다. 1) character set과 연관 없어 보임 (en_us.utf8, ko_kr.ksc, ko_kr.949, ko_kr.ksc인 경우 모두 오류 발생) 2) source string이 empty string('')인 경우 사용 빈도에 따라 발생 가능성이 높은 오류입니다. 아래는 오류를 재현한 과정입니다. /work2/INFORMIX/1210FC14]dbaccess tdb - Database selected. > select char_length("") from s..
인포믹스 12.10.FC14버전에서 발견된 defect를 공유드립니다. 경우에 따라서는 심각한 문제가 될 것 같은데요. LPAD와 RPAD 함수 사용시 발생하는 문제입니다. 오류가 발생하는 조건은 아래와 같습니다. 1) multi-byte character set으로 구성된 데이터베이스 (en_us.utf8, ko_kr.ksc, ko_kr.949등) 2) source string이 varchar 또는 lvarchar 타입일 경우 3) source string이 empty string('')인 경우 상당히 오류가 발생할 가능성이 높은 조건입니다. 아래는 오류를 재현한 과정입니다. /work2/INFORMIX/1210FC14]export DB_LOCALE=en_us.utf8 /work2/INFORMIX/12..
- Total
- Today
- Yesterday