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

Opret trigger for før indsættelse

Brug i stedet for trigger og indsat tabel like nedenfor og prøv.

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

Den indsatte tabel gemmer kopier af de berørte rækker under INSERT og UPDATE udsagn. I stedet for trigger erstatter den aktuelle INSERT med triggerdefinitionen.




  1. mangler nøgleordsfejl i oracle CASE WHEN sql-sætning

  2. SQL - AS - tabel eksisterer ikke - 1146

  3. Tilføjelse af fremmed nøgle mislykkes i MySQL med fejlkode 1005, nummer 150

  4. Solve kan ikke udføre en DML-handling i en forespørgsel