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

Résolu
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

  1. Up !
    Je suis toujours dans l'impasse,
    Merci
    1. UP ! Toujours dans le besoin