Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Crea trigger per prima dell'inserimento

Usa al posto del trigger e tabella inserita come di seguito e prova.

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 tabella inserita memorizza le copie delle righe interessate durante INSERT e UPDATE dichiarazioni. Invece di trigger sostituisce l'INSERT corrente con la definizione del trigger.