IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Firebird Discussion :

date du jour


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Par défaut date du jour
    Bonjour ,

    mon post precedent n' inspirant personne , je prend le probleme sous un autre angle

    comment est il possible de mettre la date du jour par defaut.

    essai trigger non concluant

    essai de mettre default CURRENT_DATE
    message d' erreur "valeur incorrecte pour le champ date"


    merci

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    parce que ton code fonctionne
    bien sûr en dialect 3, qui est la valeur normale et par défaut pour FB1.5

  3. #3
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Par défaut
    Bonjour et merci

    oui et c' est pour cela que je demande de l' aide.
    j' ai un absolu besoin de mettre la date du jour lors de l' insertion ,
    je peux bien sur le faire par programmation (Delphi) , mais je trouve plus sur et normal que cela soit fait par le moteur de DB.

    comment le feriez vous ?


    merci

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    comme ça :
    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 ;^

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    la preuve :

    voici un fichier test.sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    CREATE DATABASE 'TEST.fdb';
    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") 
    ) ;
    COMMIT;
     
    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 ;^
     
    INSERT INTO "Produit de coupe" ("NomID","Produit de coupe") VALUES ('a','a');
    COMMIT;
    SELECT "Date de mise en service" FROM  "Produit de coupe" WHERE "NomID" = 'a';
    et voici la sortie écran :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    C:\Program Files\Firebird\Firebird_1_5\bin>isql -u SYSDBA -p masterkey
    Use CONNECT or CREATE DATABASE to specify a database
    SQL> input test.sql;
     
    Date de mise en service
    =======================
     
    2007-08-01
     
    SQL>

  6. #6
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Par défaut Date du juour (suite)
    je suis bien d' accord sur le code , mais

    ci joint deux copies d' ecran.

    Merci
    Images attachées Images attachées   

  7. #7
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    Citation Envoyé par makowski
    comme ça :
    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 ;^
    makowski, sa serat pas mieux si ce trigger est "ACTIVE affter INSERT "

  8. #8
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    Citation Envoyé par edam
    makowski, sa serat pas mieux si ce trigger est "ACTIVE affter INSERT "
    la bonne blague

    révise ton sql
    un after Insert ne modifie pas les données de la table, par définition

Discussions similaires

  1. Mettre la date du jour par défaut
    Par Oberown dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 01/03/2005, 15h35
  2. affiche date du jour dans champ texte
    Par pascal.cargouet dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/01/2005, 11h04
  3. Fonction utilisateur qui renvoie la date du jour
    Par falcon dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 13/12/2004, 11h03
  4. [XSL] Date du jour
    Par JustAGphy dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/06/2004, 17h29
  5. maj d'1 colonne avec la date du jour lors de l'INSERT
    Par Celina dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 18/12/2003, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo