[SQL|TRIGGER] Contrôle de données

Résolu/Fermé
Signaler
Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
-
Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
-
Bonsoir,

je suis en train de réaliser un Trigger sur SQL SERVER, langage Transact donc,

Et j'ai un soucis sur mon code, j'aimerais pouvoir faire un contrôle de données
par exemple si un champs existe déjà on fait un message d'erreur.

voici mon code :

USE [BiblioTech] 
GO 
/****** Object:  Trigger [dbo].[ContrôleColl]    Script Date: 03/16/2012 20:34:53 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
ALTER TRIGGER [dbo].[ContrôleColl]  
 ON [dbo].[COLLECTIONS]  
 FOR INSERT 
AS 
BEGIN 
 DECLARE  
 @CodeColl INT, 
 @CodeEdit INT, 
 @NomColl VARCHAR(30), 
 @Date Date, 
 @Res INT, 
 @errmsg VARCHAR(50), 
 @errnum INT 

 SET @CodeColl = (SELECT CODECOLL FROM INSERTED) 
 SET @CodeEdit = (SELECT CODEEDIT FROM INSERTED) 
 SET @NomColl = (SELECT NOMCOLL FROM INSERTED) 
 SET @Date = (SELECT DATEPARUTION FROM INSERTED) 


 SET @Res = (SELECT COUNT(NOMCOLL) FROM COLLECTIONS WHERE NOMCOLL = @NomColl) 



 IF @Res > 0 
  BEGIN 
   SET @errmsg = 'La collection existe déjà' 
   SET @errnum = 50001 
   Goto ERREUR 
  END 
  
END 


ERREUR: 
 RAISERROR @errmsg @errnum



Merci d'avance

Cordialement,

Xineroks

2 réponses

Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
4
Up !
Je suis toujours dans l'impasse,
Merci
Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
4
UP ! Toujours dans le besoin
Messages postés
158
Date d'inscription
lundi 9 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2014
4
UP edit du code