Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Criar gatilho para antes de inserir


Use em vez do gatilho e tabela inserida como abaixo e ter uma tentativa.
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

A tabela inserida armazena cópias das linhas afetadas durante INSERT e UPDATE declarações. Em vez de trigger substitui o INSERT atual pela definição de trigger.