New dans sql serveur
Fermé
hassane03
Messages postés
5
Date d'inscription
mardi 11 décembre 2012
Statut
Membre
Dernière intervention
2 janvier 2013
-
2 janv. 2013 à 10:44
FreddyVPI Messages postés 1 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 3 janvier 2013 - 3 janv. 2013 à 08:35
FreddyVPI Messages postés 1 Date d'inscription jeudi 3 janvier 2013 Statut Membre Dernière intervention 3 janvier 2013 - 3 janv. 2013 à 08:35
A voir également:
- New dans sql serveur
- Récupération serveur sql - Télécharger - Gestion de données
- Serveur pop - Guide
- We detected a new processor ✓ - Forum BIOS
- Serveur diff message ✓ - Forum iPhone
- Le protocole assure que la communication entre l'ordinateur de chaïma et le serveur de partageimage est car les informations seront avant d'être envoyées. - Forum traduction
4 réponses
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
Modifié par Morgothal le 2/01/2013 à 11:00
Modifié par Morgothal le 2/01/2013 à 11:00
La syntaxe d'une création de trigger sous SQL Server est la suivante :
-------------------
Cordialement,
Clément
CREATE TRIGGER MonSchema.MonTrigger ON MonSchema.MaTable AFTER INSERT AS BEGIN --Et la pseudo-table contenant l(es) insertion(s) est bien INSERTED donc : IF (LEN(INSERTED.Jour)>3) BEGIN SELECT 'jour doit être en 3 char' AS 'ErrJour'; END IF(INSERTED.Vitesse<0) BEGIN SELECT 'La Vitesse ne peut pas être négative' AS 'EVitesse'; END IF(INSERTED.Température<-273) BEGIN SELECT 'La Température doit être supérieure à -273' AS 'ETempérature'; END GO
-------------------
Cordialement,
Clément
hassane03
Messages postés
5
Date d'inscription
mardi 11 décembre 2012
Statut
Membre
Dernière intervention
2 janvier 2013
1
2 janv. 2013 à 11:26
2 janv. 2013 à 11:26
j'ai changer 'new' par 'INSERTED' mais ca marche pas encor :(
le code d'erreur:
IF (LEN(INSERTED.Jour)>3) BEGIN SELECT 'jour doit etre en 3char' AS 'ErrJour'; END
le code d'erreur:
Msg 4104, Niveau 16, État 1, Procédure TBI_Machine, Ligne 3 L'identificateur en plusieurs parties "INSERTED.Jour" ne peut pas être lié.
fjbvqlkjhv
Messages postés
315
Date d'inscription
lundi 17 décembre 2012
Statut
Membre
Dernière intervention
27 août 2013
27
2 janv. 2013 à 11:31
2 janv. 2013 à 11:31
Tu as essayé le code fourni par Morgothal ?
hassane03
Messages postés
5
Date d'inscription
mardi 11 décembre 2012
Statut
Membre
Dernière intervention
2 janvier 2013
1
2 janv. 2013 à 11:39
2 janv. 2013 à 11:39
oui chaire amie et ca marche pas :( :( sa fais 2jr que cherche a exécuter un trigger sql serveur sen aucune résultat
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
2 janv. 2013 à 12:03
2 janv. 2013 à 12:03
As tu essayé la création automatique ?
Dans le petit "+" à côté du nom de la table, Trigger, clic droit > New Trigger.
Tu as une syntaxe toute faite de cette manière.
Dans le petit "+" à côté du nom de la table, Trigger, clic droit > New Trigger.
Tu as une syntaxe toute faite de cette manière.
hassane03
Messages postés
5
Date d'inscription
mardi 11 décembre 2012
Statut
Membre
Dernière intervention
2 janvier 2013
1
2 janv. 2013 à 12:14
2 janv. 2013 à 12:14
c interdis utiliser l'assistant car cet un sujet d'exposer dans la classe
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
2 janv. 2013 à 12:57
2 janv. 2013 à 12:57
C'est juste pour que tu puisses récupérer la syntaxe, après tu l'écris toi-même ;)
fjbvqlkjhv
Messages postés
315
Date d'inscription
lundi 17 décembre 2012
Statut
Membre
Dernière intervention
27 août 2013
27
2 janv. 2013 à 10:48
2 janv. 2013 à 10:48
Salut,
C'est pas "inserted" plutôt que "new" sous SQL server ?
C'est pas "inserted" plutôt que "new" sous SQL server ?
FreddyVPI
Messages postés
1
Date d'inscription
jeudi 3 janvier 2013
Statut
Membre
Dernière intervention
3 janvier 2013
3 janv. 2013 à 08:35
3 janv. 2013 à 08:35
Bonjour,
les triggers SQL server fonctionne avec deux tables qu'il faut utiliser comme telle. INSERTED et DELETED. POur retrouver le nombre de jour dans ton trigger il faut initialiser une variable SELECT @mavariable = jour FROM Inserted
si tu veux connaitre la valeur avant la modification tu peux faire aussi SELECT @mavariable = jour FROM Deleted. Pour savoir si un champ est modifié dans la transaction tu peux utiliser IF UPDATE(jour) BEGIN .... END
les triggers SQL server fonctionne avec deux tables qu'il faut utiliser comme telle. INSERTED et DELETED. POur retrouver le nombre de jour dans ton trigger il faut initialiser une variable SELECT @mavariable = jour FROM Inserted
si tu veux connaitre la valeur avant la modification tu peux faire aussi SELECT @mavariable = jour FROM Deleted. Pour savoir si un champ est modifié dans la transaction tu peux utiliser IF UPDATE(jour) BEGIN .... END