sql >> Database teknologi >  >> RDS >> Oracle

(Oracle SQL) Fanger en unik begrænsningsfejl

Du skal definere en indlejret PL/SQL Bloker og håndter undtagelse i EXCEPTION BLOKKER som WHEN DUP_VAL_ON_INDEX ...

Det burde IKKE være IF DUP_VAL_ON_INDEX

Declare
violation_of_constraint EXCEPTION;
BEGIN
  BEGIN
  -- (A FEW INSERTS HERE: A, B, C)
  SAVEPOINT X;
  -- (ANOTHER INSERT HERE: D)
  EXCEPTION 
  WHEN DUP_VAL_ON_INDEX THEN
    ROLLBACK TO X;
    COMMIT;
    RAISE violation_of_constraint;
  END;
EXCEPTION
WHEN violation_of_constraint THEN
DBMS_OUTPUT.PUT_LINE('Value already exists');
COMMIT;
END;
/



  1. Reference til ydre forespørgsel i underforespørgsel JOIN

  2. Ingen sådan fil eller mappe eller ingen sådan vært er kendt, når der køres migreringer

  3. Hvordan kan jeg implementere forumprivilegier

  4. Top Facebook-grupper til Analytics, Big Data, Data Mining, Hadoop, NoSQL, Data Science