Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Utwórz wyzwalacz przed wstawieniem

Użyj zamiast wyzwalacza i wstawiona tabela jak poniżej i spróbuj.

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

Wstawiona tabela przechowuje kopie dotkniętych wierszy podczas INSERT i UPDATE sprawozdania. Zamiast wyzwalacza zastępuje bieżącą INSERT definicją wyzwalacza.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przekazywanie pustej listy do parametru typu tabeli zdefiniowanego przez użytkownika w funkcji skalarnej

  2. Utwórz konto pocztowe bazy danych w programie SQL Server (T-SQL)

  3. Przykłady konwersji „daty” na „przesunięcie daty” w SQL Server (T-SQL)

  4. Usuń końcowe:znak z wiersza w tabeli SQL

  5. Zapytanie SQL, aby znaleźć ostatni dzień miesiąca