본문 바로가기
DataBase/PostgreSQL

Oracle -> PostgreSQL 변경 #2. Oracle DUP_VAL_ON_INDEX 기능 변환

by 쏜스 2025. 4. 25.
반응형

1. Oracle 사용

DECLARE
    P_PART_NO VARCHAR(100)  := '6460011010';
BEGIN
    INSERT INTO pt_part (part_no)
    VALUES (P_PART_NO);
EXCEPTION
    WHEN DUP_VAL_ON_INDEX   THEN
        raise_application_error(-20902, 'Duplicate ERROR!!');
end;
;

2. PostgreSQL 사용

DO
$$
    DECLARE
        P_PART_NO VARCHAR(100)  := '6460011010';
    BEGIN
        INSERT INTO pt_part (part_no)
        VALUES (P_PART_NO);
    EXCEPTION
        WHEN unique_violation  THEN
            RAISE exception 'Duplicate ERROR!!';
    end;
$$
;

 

Oralce에서 PostgreSQL 로 변환 시 주의사항


Oracle에서고유 제약 조건이나, 고유 인덱스에 위반될 때 발생하는 오류 처리 명령어 DUP_VAL_ON_INDEX 는 PostgreSQL 에서는 UNIQUE_VIOLATION 으로 대체하여 사용합니다.

반응형