Bonjour à tous,

Je dois pour certaines de mes tables ne pas générer d'erreur lors de tentatives d'insertion avec violation de contrainte d'intégrité.
Malheureusement, je n'ai pas la main sur les requêtes SQL.
Je dois alors passer par un déclencheur.

Pour ce faire, j'ai créé le trigger suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE OR REPLACE TRIGGER TRG_NOT_NULL_COMM
      BEFORE INSERT -- avant supression
       ON edgar.commune        -- sur la table EMP
      FOR EACH ROW  -- pour chaque ligne  
DECLARE
    varTmp NUMBER:=0;
BEGIN
    -- checks
    SELECT nvl((SELECT 1 FROM edgar.commune WHERE id_com = :new.id_com), 0) INTO varTmp FROM dual;
 
    -- insert
    IF (varTmp = 1) THEN
        NULL;
    END IF;
END;
Mais j'ai toujours une erreur lors d'une insertion d'une valeur existante.

Pourriez vous me dire où ça ne va pas ?

Merci