Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Създайте тригер за преди вмъкване

Използвайте вместо задействане и вмъкната таблица като по-долу и опитайте.

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

Вмъкнатата таблица съхранява копия на засегнатите редове по време на INSERT и UPDATE изявления. Вместо тригер замества текущия INSERT с дефиницията на тригер.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server - дефиниране на колона от тип XML с UTF-8 кодиране

  2. Кой е най-ефективният начин за нормализиране на текст от колона в таблица?

  3. Сравняване на стойности на 2 таблици и изброяване на редовете, които се различават

  4. Контролни точки на базата данни в SQL Server

  5. SQL:Как да запълня празни клетки със стойност на предишния ред?