Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre régulier
    Inscrit en
    janvier 2007
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : janvier 2007
    Messages : 173
    Points : 84
    Points
    84

    Par défaut Firebird 2.1x trigger delete

    Bonjour

    je souhaite intercepter un ordre delete sous condition
    dans le trigger before delete

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE OR ALTER TRIGGER "PRIX_PRODUITS_BD0" FOR "PRIX_PRODUITS"
    active before DELETE position 0
    AS
    begin
      /* Trigger text */
      IF la condition est ok alors
        -- delete est ok
      sinon
         -- j' interromps le delete
      end
    end
    un petit coup de pouce , merci

    cordialement

    fred

  2. #2
    Modérateur
    Avatar de Cl@udius
    Homme Profil pro Claude Renouleaud
    Développeur informatique
    Inscrit en
    février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Nom : Homme Claude Renouleaud
    Âge : 51
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2006
    Messages : 4 878
    Points : 8 958
    Points
    8 958

    Par défaut

    Salut

    La seule méthode est de lever une exception:
    Code :
    1
    2
    3
    4
    BEGIN
      IF (Condition PAS OK) THEN
        EXCEPTION ERR_DEL_RECORD;
    END
    ERR_DEL_RECORD étant défini ainsi, par exemple:
    Code :
    CREATE EXCEPTION ERR_DEL_RECORD 'La suppression de cet enregistrement est interdite.';
    Il n'y a plus qu'a intercepter la levée d'exception dans l'application cliente.

    @+ Claudius
    A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.

  3. #3
    Membre régulier
    Inscrit en
    janvier 2007
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : janvier 2007
    Messages : 173
    Points : 84
    Points
    84

    Par défaut

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •