Précédent   Forum du club des développeurs et IT Pro > Bases de données > Firebird
Firebird Forum d'entraide sur le SGBD Firebird. Avant de poster -> F.A.Q Firebird, Tutoriels
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/02/2013, 09h07   #1
Fred 57220
Membre à l'essai
 
Inscription : janvier 2007
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 109
Points : 23
Points : 23
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
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2013, 09h32   #2
Cl@udius
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 860
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 50
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 860
Points : 9 970
Points : 9 970
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.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2013, 12h40   #3
Fred 57220
Membre à l'essai
 
Inscription : janvier 2007
Messages : 109
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 109
Points : 23
Points : 23
Merci
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h02.


 
 
 
 
Partenaires

Hébergement Web