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

Développement SQL Server Discussion :

Petit Trigger et date


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 104
    Par défaut Petit Trigger et date
    Bonjour,
    j'aimerais creer un trigger qui insert la date lors de l'ajout d'une personne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create trigger insertP
    on Personne
    FOR INSERT
    AS
    BEGIN
    	Insert into Date Values (current_timestamp)
    END
    La syntaxe du trigger ne semble pourtant pas etre valide
    Nom d'objet 'Date' non valide.
    ?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 142
    Par défaut
    Pour commencer, est-ce que tu es sur de bien avoir une table qui se nomme Date ??

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 104
    Par défaut
    Date est un attribut de personne .
    Cependant, personne.Date n'est pas valide non plus.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 142
    Par défaut
    Si Date est un champs de Personne, alors la syntaxe correcte est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO Personne(Date) VALUES(current_timestamp)
    edit : Cependant, en lisant mieux ton message, je m'aperçois que ton trigger est complètement bancal... La tout ce qu'il va faire c'est ajouter un enregistrement avec la date courante !
    Toi ce que tu veux c'est mettre à jour le champs Date avec la date courante à chaque insertion si j'ai bien compris.
    Il faut donc faire un UPDATE et non un INSERT, et faire une jointure avec la pseudo-table INSERTED !

  5. #5
    Membre expérimenté
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Par défaut
    de la même manière si ce que tu veux c'est lors de l'ajout que ton champs date prenne la valeur de la date actuel de la machine

    Utilise la fonction GetDate() et ce sera un update personne set date = ..... where taclé = tavaleur

    Tu peux aussi utiliser une valeur par défaut plutot qu'un trigger si c'est comme je l'ai compris avant

  6. #6
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 104
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Utilise la fonction GetDate() et ce sera un update personne set date = ..... where taclé = tavaleur
    Oui, cette methode est la plus simple, mais comment connaitre la clef vu que c'est simplement l'element que j'ajoute ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FB1.5] Trigger pour date et heure
    Par Mister Nono dans le forum SQL
    Réponses: 4
    Dernier message: 11/09/2007, 16h09
  2. Triggers et date
    Par attila771 dans le forum Débuter
    Réponses: 5
    Dernier message: 09/05/2007, 14h02
  3. Plus petit qu'une date
    Par Invité dans le forum MS SQL Server
    Réponses: 17
    Dernier message: 07/09/2006, 10h41
  4. [Pl/Sql] Trigger et date, heure system
    Par brigadier dans le forum Oracle
    Réponses: 7
    Dernier message: 03/08/2006, 12h34
  5. [vb.net] petit probleme de date
    Par graphicsxp dans le forum VB.NET
    Réponses: 5
    Dernier message: 02/06/2006, 11h25

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