Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/11/2003, 15h59   #1
Membre du Club
 
Inscription : mars 2003
Messages : 129
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 129
Points : 62
Points : 62
Par défaut Trigger

Bonjour,

peut-on exécuter plusieurs opérations dans un trigger. Par exemple, en plus de gen_id, insérer une date dans un champ prévu à cet effet, le tout sur un événement before insert. Ce qui donnerait :
Citation:
...
as
begin
new.id_num=gen_id(gen_matable,1)
new.date_modif='today';
end
Merci de vos réponses.
jfox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2003, 16h09   #2
Membre Expert
 
Avatar de Barbibulle
 
Frédéric
Inscription : octobre 2002
Messages : 1 722
Détails du profil
Informations personnelles :
Nom : Frédéric
Âge : 42

Informations forums :
Inscription : octobre 2002
Messages : 1 722
Points : 2 025
Points : 2 025
Oui bien sur mais tu peux aussi (et c'est peut etre mieux si c'est deux fonctionnalitées bien différentes) le faire dans un second trigger before update.

Pour donner l'ordre d'exécution (de priorité entre les triggers) il faut jouer sur le position.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TRIGGER BI_ID FOR MATABLE
ACTIVE BEFORE INSERT POSITION 0
AS
begin
  IF (new.id_num IS NULL) THEN
    new.id_num=gen_id(gen_matable,1) 
end
 
CREATE TRIGGER BI_ID FOR MATABLE
ACTIVE BEFORE INSERT POSITION 1
AS
begin
  new.date_modif = 'today'; 
end
Barbibulle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2003, 16h15   #3
Membre du Club
 
Inscription : mars 2003
Messages : 129
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 129
Points : 62
Points : 62
Merci Barbibulle !
Je ne suis pas encore très habitué à IB et je ne percute pas toujours comme il faudrait...
jfox est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h48.


 
 
 
 
Partenaires

Hébergement Web