Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 13/12/2010, 16h41   #1
Membre régulier
 
Avatar de jubourbon
 
Homme
Inscription : octobre 2008
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2008
Messages : 349
Points : 96
Points : 96
Par défaut Trigger de mise à jour

Bonjour,

Je souhaite écrire un trigger qui après un update mette à jour un champ de l'enregistrement mis à jour.
Voici ma table
Code :
1
2
3
4
5
6
TABLE [dbo].[Item](
	[IDItem] [int] NOT NULL PRIMARY KEY,
	[NomItem] [varchar](100) NOT NULL,
	[IDAction] [int] NULL,
	[CreationDate] [date] NOT NULL,
	[ModifciationDate] [date] NULL
je souhaite que lorsque je met à jour un enregistrement le trigger se déclenche et mette à jour le champ modificationDate.

Par avance merci de votre aide.
jubourbon est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 13/12/2010, 17h10   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 964
Points : 3 964
http://sqlpro.developpez.com/cours/s...ransactsql/#L5
http://msdn.microsoft.com/en-us/library/ms189799.aspx
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 17h15   #3
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 950
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 950
Points : 17 766
Points : 17 766
Code :
1
2
3
4
5
6
7
CREATE TRIGGER E_U_ITEM
ON [dbo].[Item]
FOR UPDATE
AS
UPDATE [dbo].[Item]
SET    [ModifciationDate] = CURRENT_TIMESTAMP
WHERE  IDItem IN (SELECT IDItem FROM inserted)
Par exemple !
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 17h28   #4
Membre régulier
 
Avatar de jubourbon
 
Homme
Inscription : octobre 2008
Messages : 349
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : octobre 2008
Messages : 349
Points : 96
Points : 96
Parfait, merci pour vos réponses rapides
jubourbon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2010, 04h17   #5
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 663
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 30
Localisation : Thaïlande

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

Informations forums :
Inscription : janvier 2005
Messages : 4 663
Points : 8 697
Points : 8 697
ou bien encore :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TRIGGER E_U_ITEM
	ON dbo.Item
FOR UPDATE
AS
BEGIN
	SET NOCOUNT ON
 
	UPDATE		dbo.Item
	SET		ModifciationDate = CURRENT_TIMESTAMP
	FROM		dbo.Item AS IT
	INNER JOIN	inserted AS I ON I.IDItem = IT.IDItem
END
@++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes.
Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket 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 00h20.


 
 
 
 
Partenaires

Hébergement Web