Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Créer un déclencheur avant l'insertion

Utilisez à la place du déclencheur et tableau inséré comme ci-dessous et essayez.

CREATE TRIGGER INS_TABLE_1
ON mytable
INSTEAD OF INSERT
AS
BEGIN
    DECLARE @fn varchar(50),@ln varchar(50)
    SELECT @fn=column1 ,@ln=column12 from inserted
    IF (@fn IS NULL OR @ln IS NULL)
    BEGIN
        RAISERROR ('You are not allowed to Add These Data.', 10, 11)
    END
    ELSE
        INSERT INTO mytable (column1 ,column2) values (@fn,@ln)
END

La table insérée stocke des copies des lignes affectées pendant INSERT et UPDATE déclarations. Au lieu de trigger remplace l'INSERT actuel par la définition du trigger.