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 12/09/2003, 11h19   #1
Invité de passage
 
Inscription : juillet 2003
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 8
Points : 2
Points : 2
Par défaut creation de trigger

bonjour,

ma table :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE "COURRIER" 
(
  "ACTION_NO"         NUMERIC(18, 0) NOT NULL,
  "DOC_NO"            NUMERIC(18, 0) NOT NULL,
  "UTIL_NO"           NUMERIC(18, 0) NOT NULL,
  "COURRIER_CONSULTE" "BOOL"         NOT NULL,
  "DATE_BUTOIR"       NUMERIC(14, 12),
  "COMMENTAIRE"       VARCHAR(256),
  "REPONSE"           VARCHAR(256),
  "DATE_CONSULTATION" NUMERIC(14, 12),
CONSTRAINT "PK_COURRIER1" PRIMARY KEY ("ACTION_NO")
);
ALTER TABLE "COURRIER" ADD CONSTRAINT "FK_COURRIER1" FOREIGN KEY ("DOC_NO") REFERENCES DOCUMENT ("DOC_NO") ON DELETE CASCADE;
ALTER TABLE "COURRIER" ADD CONSTRAINT "FK_COURRIER2" FOREIGN KEY ("UTIL_NO") REFERENCES UTILISATEUR ("UTIL_NO") ON DELETE CASCADE;
apres avoir au préalable déclare un générateur Courrier_action_no_INC3,

je lance la commande SQL:

Code :
1
2
3
4
5
6
CREATE TRIGGER SET_COURRIER_ACTION_NO FOR COURRIER
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.action_no IS NULL) THEN NEW.action_no = GEN_ID(Courrier_action_no_INC3, 1);
END

et là j'ai une erreur SQL :

Dynamic SQL Error
SQL error code = -104
Unexpected end of command
Statement: CREATE TRIGGER SET_COURRIER_ACTION_NO FOR COURRIER
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.action_no IS NULL) THEN NEW.action_no = GEN_ID(Courrier_action_no_INC3, 1)



Je débute dans les Trigger, j'ai repris des syntaxes sur les forums, ca ne doit pas être bien méchant, mais je ne vois pas du tout ce qui ne vas pas!

merci
mitsubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2003, 13h55   #2
Membre régulier
 
Inscription : avril 2002
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 70
Points : 77
Points : 77
Pour créer un procédure, tu dois changer le terme ; par un autre. La console lis ; et veux terminer la procédure à la ligne du if, mais c'est seulement pour terminer une ligne. Alors pour changer le terme tu peux faire.

Code :
1
2
3
4
5
6
 
SET TERM ; !
 
ta procédure stockéee ici
 
SET TERM ! ;
Quand la console va lire ; de ta ligne du if, il ne cherchera pas à terminer la procédure mais va seulement lire la fin d'une ligne.


Voilà
Dihap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2003, 14h18   #3
Invité de passage
 
Inscription : juillet 2003
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 8
Points : 2
Points : 2
ok merci ça marche, mais dis donc, ça s'invente pas ce truc là !!!!
mitsubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2003, 15h13   #4
Membre régulier
 
Inscription : avril 2002
Messages : 70
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 70
Points : 77
Points : 77
Apparament...

Pense à mettre résolu
Dihap 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 08h13.


 
 
 
 
Partenaires

Hébergement Web