is there any Postgres replacement for exception DUP_VAL_ON_INDEX? I'm migrating a database from Oracle to PostgreSQL.
my query example:
EXCEPTION
WHEN DUP_VAL_ON_INDEX
THEN
BEGIN
UPDATE BTPN_INS_PEOPLE_EXT
SET EFFECTIVE_END_DATE = NULL,
REGISTER_DATE = l_dMakerDate,
PASSPORT_NO = l_vPassportNo,
FAMILY_CARD_NO = l_vFamilyCardNo,
UPDATE_BY = i_vUSER_ID,
UPDATE_ON = SYSDATE,
RECORD_FLAG = 'U'
WHERE PERSON_ID = l_nMainPersonId
AND EFFECTIVE_START_DATE = TRUNC (SYSDATE);
SELECT INTERNALID
INTO l_nPeopleExtId
FROM BTPN_INS_PEOPLE_EXT
WHERE PERSON_ID = l_nMainPersonId
AND EFFECTIVE_START_DATE = TRUNC (SYSDATE)
AND EFFECTIVE_END_DATE IS NULL
AND ROWNUM = 1;
As already mentioned in the comment,
The replacement of the DUP_VAL_ON_INDEX
(In oracle) is unique_violation
in PostgreSQL.
It is mentioned in the Error codes of the PostgreSQL documentation here