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

Résolu/Fermé
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 - Modifié par Xineroks le 16/03/2012 à 22:06
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 - 17 mars 2012 à 14:12
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

Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 3
17 mars 2012 à 10:41
Up !
Je suis toujours dans l'impasse,
Merci
0
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 3
17 mars 2012 à 12:56
UP ! Toujours dans le besoin
0
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 3
17 mars 2012 à 14:12
UP edit du code
0