OVH Cloud OVH Cloud

Champ Date de modification

6 réponses
Avatar
DAVELOP
Bonjour,

Sans-doute tr=E8s simple pour vous :

Je souhaiterais cr=E9er dans une table un champ "date_maj"
qui contiendrais automatiquement la date du jour de la=20
modification de l'enregistrement.

J'ai entendu parler de "Trigger" mais je ne sais pas=20
comment =E7a marche.

Merci d'avance

6 réponses

Avatar
chukuba
la fonction getdate() permet de récupéerr la date et
l'heure du jour. En mettant comme valeur par
défaut "getdate()", ça devrait marcher.



-----Message d'origine-----
Bonjour,

Sans-doute très simple pour vous :

Je souhaiterais créer dans une table un champ "date_maj"
qui contiendrais automatiquement la date du jour de la
modification de l'enregistrement.

J'ai entendu parler de "Trigger" mais je ne sais pas
comment ça marche.

Merci d'avance


.



Avatar
davelop
Oui ça j'ai pu le faire pour le champ date de creation.
Mais en cas de modification d'un enregistrement,cela ne
change pas sa valeur initial.


-----Message d'origine-----
la fonction getdate() permet de récupéerr la date et
l'heure du jour. En mettant comme valeur par
défaut "getdate()", ça devrait marcher.



-----Message d'origine-----
Bonjour,

Sans-doute très simple pour vous :

Je souhaiterais créer dans une table un champ "date_maj"
qui contiendrais automatiquement la date du jour de la
modification de l'enregistrement.

J'ai entendu parler de "Trigger" mais je ne sais pas
comment ça marche.

Merci d'avance


.



.



Avatar
Dominique Peralta
Voir dans le BOL. CREATE TRIGGER ON maTable FOR UPDATE AS ...........
Dans Enterprise Manager, clique droit sur ta table, Toutes les taches, Gérer
les déclencheurs.

"davelop" a écrit dans le message de
news:0a9801c3a206$ef6939a0$
Oui ça j'ai pu le faire pour le champ date de creation.
Mais en cas de modification d'un enregistrement,cela ne
change pas sa valeur initial.


-----Message d'origine-----
la fonction getdate() permet de récupéerr la date et
l'heure du jour. En mettant comme valeur par
défaut "getdate()", ça devrait marcher.



-----Message d'origine-----
Bonjour,

Sans-doute très simple pour vous :

Je souhaiterais créer dans une table un champ "date_maj"
qui contiendrais automatiquement la date du jour de la
modification de l'enregistrement.

J'ai entendu parler de "Trigger" mais je ne sais pas
comment ça marche.

Merci d'avance


.



.



Avatar
davelop
J'ai essayé de créer un Trigger comme celui là
CREATE TRIGGER ON maTable FOR UPDATE AS Update maTable
date_maj = getdate()

mais quand je modifie un enregistrement, tous les
enregistrements prennent la date du jour dans le champ
date_maj

Comment inclure un critère 'where' pour ne changer que la
date_maj de l'enregistrement modifié ?

Pour info, je gère ma base par des pages ASP.



-----Message d'origine-----
Voir dans le BOL. CREATE TRIGGER ON maTable FOR UPDATE


AS ...........
Dans Enterprise Manager, clique droit sur ta table,


Toutes les taches, Gérer
les déclencheurs.

"davelop" a écrit dans le message de
news:0a9801c3a206$ef6939a0$
Oui ça j'ai pu le faire pour le champ date de creation.
Mais en cas de modification d'un enregistrement,cela ne
change pas sa valeur initial.


-----Message d'origine-----
la fonction getdate() permet de récupéerr la date et
l'heure du jour. En mettant comme valeur par
défaut "getdate()", ça devrait marcher.



-----Message d'origine-----
Bonjour,

Sans-doute très simple pour vous :

Je souhaiterais créer dans une table un champ "date_maj"
qui contiendrais automatiquement la date du jour de la
modification de l'enregistrement.

J'ai entendu parler de "Trigger" mais je ne sais pas
comment ça marche.

Merci d'avance


.



.





.



Avatar
Dominique Peralta
Regarde dans la doc, ils parlent des tables temporaires Inserted et Deleted.
Qd tu fais un update, c'est comme si tu effaçais l'enregistrement, et que tu
en créais un autre. Tu retrouves donc tes anciennes données dans la table
Deleted. Il suffit de récupérer la clé de ton enreg dans cette table
temporaire, puis de la spécifier dans ta clause Where.

"davelop" a écrit dans le message de
news:0de701c3a20f$cd2c7d80$
J'ai essayé de créer un Trigger comme celui là
CREATE TRIGGER ON maTable FOR UPDATE AS Update maTable
date_maj = getdate()

mais quand je modifie un enregistrement, tous les
enregistrements prennent la date du jour dans le champ
date_maj

Comment inclure un critère 'where' pour ne changer que la
date_maj de l'enregistrement modifié ?

Pour info, je gère ma base par des pages ASP.



-----Message d'origine-----
Voir dans le BOL. CREATE TRIGGER ON maTable FOR UPDATE


AS ...........
Dans Enterprise Manager, clique droit sur ta table,


Toutes les taches, Gérer
les déclencheurs.

"davelop" a écrit dans le message de
news:0a9801c3a206$ef6939a0$
Oui ça j'ai pu le faire pour le champ date de creation.
Mais en cas de modification d'un enregistrement,cela ne
change pas sa valeur initial.


-----Message d'origine-----
la fonction getdate() permet de récupéerr la date et
l'heure du jour. En mettant comme valeur par
défaut "getdate()", ça devrait marcher.



-----Message d'origine-----
Bonjour,

Sans-doute très simple pour vous :

Je souhaiterais créer dans une table un champ "date_maj"
qui contiendrais automatiquement la date du jour de la
modification de l'enregistrement.

J'ai entendu parler de "Trigger" mais je ne sais pas
comment ça marche.

Merci d'avance


.



.





.



Avatar
Dominique Peralta
Et bien, c'est le principal ;-)

"DAVELOP" a écrit dans le message de
news:11e401c3a221$7564d9f0$
Ouh la trop compliqué pour moi...
En fait, j'ai tout simplement créer dans mon formulaire
ASP de modification d'un enregistrement, un champ caché
ayant pour valeur par défaut la date du jour --> date().
Et ça marche.


-----Message d'origine-----
Regarde dans la doc, ils parlent des tables temporaires


Inserted et Deleted.
Qd tu fais un update, c'est comme si tu effaçais


l'enregistrement, et que tu
en créais un autre. Tu retrouves donc tes anciennes


données dans la table
Deleted. Il suffit de récupérer la clé de ton enreg dans


cette table
temporaire, puis de la spécifier dans ta clause Where.

"davelop" a écrit dans le message de
news:0de701c3a20f$cd2c7d80$
J'ai essayé de créer un Trigger comme celui là
CREATE TRIGGER ON maTable FOR UPDATE AS Update maTable
date_maj = getdate()

mais quand je modifie un enregistrement, tous les
enregistrements prennent la date du jour dans le champ
date_maj

Comment inclure un critère 'where' pour ne changer que la
date_maj de l'enregistrement modifié ?

Pour info, je gère ma base par des pages ASP.



-----Message d'origine-----
Voir dans le BOL. CREATE TRIGGER ON maTable FOR UPDATE


AS ...........
Dans Enterprise Manager, clique droit sur ta table,


Toutes les taches, Gérer
les déclencheurs.

"davelop" a écrit dans le message de
news:0a9801c3a206$ef6939a0$
Oui ça j'ai pu le faire pour le champ date de creation.
Mais en cas de modification d'un enregistrement,cela ne
change pas sa valeur initial.


-----Message d'origine-----
la fonction getdate() permet de récupéerr la date et
l'heure du jour. En mettant comme valeur par
défaut "getdate()", ça devrait marcher.



-----Message d'origine-----
Bonjour,

Sans-doute très simple pour vous :

Je souhaiterais créer dans une table un








champ "date_maj"
qui contiendrais automatiquement la date du jour de la
modification de l'enregistrement.

J'ai entendu parler de "Trigger" mais je ne sais pas
comment ça marche.

Merci d'avance


.



.





.





.