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 29/07/2007, 19h45   #1
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 15
Points : 15
Par défaut trigger qui ne s' execute pas

Monsieur , bien le bonjour

je suis sous Firebird 1.53

La table fonctionne correctement , sauf que quand je fais un insert sur la table produit de coupe
la date courante ne se met pas dans le champ


Ma table "Produit de coupe" est definie comme

Code :
1
2
3
4
5
6
7
8
9
10
11
 CREATE TABLE "Produit de coupe"
(
  "NomID"        	          VarChar(30) NOT NULL ,
  "Produit de coupe"              VarChar(40) NOT NULL ,
  "Date de mise en service"       Date NOT NULL ,
  "Date de mise hors service"     Date ,
  "Clef Excel"                    VarChar(3),
 
   Constraint "SlPrimaryPdC" PRIMARY KEY ("NomID" ,"Produit de coupe" , "Date de mise en service") ,
   Constraint "ForeignKeyPdC" FOREIGN KEY ("NomID") REFERENCES "Machines"  ("NomID")
 ) ;
Le trigger associé est definie comme cela


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
/* Trigger pour la date*/
 
SET TERM ^ ;
 
CREATE TRIGGER "Trig_Date_MES_Pdc " FOR "Produit de coupe"
ACTIVE BEFORE INSERT POSITION 0
AS
begin
   New."Date de mise en service" = CURRENT_DATE  ;
end
  ^
COMMIT WORK ^
SET TERM ;^

je solisite un peu d' aide

merci
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 11h32   #2
Membre régulier
 
Inscription : février 2005
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 100
Points : 88
Points : 88
A mon avis, l'utilisation d'espaces pour dénommer les méta-données ne doit pas être une bonne solution mais bon...
Peut-être l'erreur est-elle induite par une erreur dans la syntaxe de la requête ?
En tout cas, j'ai repris le code et chez moi l'insertion fonctionne bien avec le trigger puisque la date se met bien à jour avec la date du jour.

Code :
1
2
 
INSERT INTO "Produit de coupe" ("NomID", "Produit de coupe") VALUES (2, 'test') ;
sillycoder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 18h22   #3
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 15
Points : 15
Bonjour

avec ou sans espace , en majuscule meme combat.
la solution avec into ne va pas car je dois faire un remplissage du champ lors de l' insertion

merci
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 19h07   #4
Futur Membre du Club
 
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 15
Points : 15
la date se met que lorsque je fais rafraichir les données
Fred 57220 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 10h59   #5
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
Citation:
Envoyé par Fred 57220
la date se met que lorsque je fais rafraichir les données
normal
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 12h39   #6
Membre habitué
 
Homme Ludovic Lemaitre
Ingénieur développement logiciels
Inscription : mai 2006
Messages : 64
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Lemaitre
Âge : 36
Localisation : France, Mayenne (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2006
Messages : 64
Points : 102
Points : 102
Je me permets une petite insertion dans votre discussion...

A propos de date du jour, vaut-il mieux utiliser CURRENT_DATE ou TODAY ?
Pergos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 10h52   #7
Membre régulier
 
Inscription : février 2005
Messages : 100
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 100
Points : 88
Points : 88
Si tu veux être conforme à la norme SQL, je te conseille fortement d'utiliser CURRENT_DATE car elle est la plus implémentée dans le petit monde fermé des SGBD mais au bout du compte
CURRENT_DATE ou TODAY
Citation:
Envoyé par Fred 57220
même combat
sillycoder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2007, 14h21   #8
Membre habitué
 
Homme Ludovic Lemaitre
Ingénieur développement logiciels
Inscription : mai 2006
Messages : 64
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Lemaitre
Âge : 36
Localisation : France, Mayenne (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2006
Messages : 64
Points : 102
Points : 102
OK ! Bon à savoir quand même...
Pergos 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 20h42.


 
 
 
 
Partenaires

Hébergement Web