sql >> Base de Datos >  >> RDS >> Sqlserver

Crear disparador para antes de insertar

Use en lugar de activar y tabla insertada Me gusta a continuación y pruébalo.

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 tabla insertada almacena copias de las filas afectadas durante INSERT y UPDATE declaraciones. En lugar de activador, reemplaza el INSERT actual por la definición del activador.