반응형
오늘도 포스트그레 에러로 돌아왔다..
프로시저 오라클에서 포스트그레로 컨버전 하기 너어무 어렵쟈나😭
SQL Error [42883]: ERROR: function pg_catalog.btrim(numeric) does not exist
이건 무슨 에러인고... 보니 btrim 함수는 문자열을 다루는 함수인데 실제로 들어간 데이터가 numeric 데이터 타입에 대해 호출해서 문제라넹..? 데이터 타입과 실제 제공된 데이터 타입이 일치하지 않는 가봄...🤔
trim을 쓰는 의심스러운 부분이 아래와 같은 부분인데...
( 로직 노출로 인해 테이블 명 및 로직 일부를 임의의 변수로 대체 하였습니다.)
//상단 선언 부분 생략
v_errflag varchar(1);
v_errnum bigint;
v_errmsg varchar(1000);
BEGIN
IF trim(both TEST_TEMP.COLNUMN1) IS NULL THEN
v_errnum := 00001;
v_errmsg := 'COLNUMN1은 필수입력 항목입니다.';
v_errflag := 'E';
.
.
.
우선, TRIM을 사용하고 있는 해당 테이블의 특정 컬럼이 NUMBER타입으로 정의되어있는지 확인한다.
오.. 아니나 다를까 COLNUMN1의 type이 NUMBER로 정의 되어있네유....
아래와 같이 문자열 타입으로 선언해주면!!!! 해당 에러 해결 완료!!
IF trim(both ' ' from TEST_TEMP.COLNUMN1::text) IS NULL THEN....
전체 로직 변경 소스는 아래와 같다!!
//상단 선언 부분 생략
v_errflag varchar(1);
v_errnum bigint;
v_errmsg varchar(1000);
BEGIN
IF trim(both ' ' from TEST_TEMP.COLNUMN1::text) IS NULL THEN
v_errnum := 00001;
v_errmsg := 'COLNUMN1은 필수입력 항목입니다.';
v_errflag := 'E';
.
.
.
다음에 또 새로운 에러로 만나 포스트그레~~
반응형
'Database > Postgre' 카테고리의 다른 글
[PostgreSQL] 사용자가 정의한 메시지로 프로시저 내부 EXCEPION 처리 하기 (0) | 2024.07.19 |
---|---|
[PostgreSQL] DB테이블 Lock 조회 및 Kill하기 (0) | 2024.07.15 |
[PostgreSQL] SQL Error [42883]: ERROR: operator does not exist: timestamp with time zone + text (2) | 2024.07.05 |