반응형
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 으로 대체하여 사용합니다.
반응형