Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tạo trình kích hoạt cho trước khi chèn

Sử dụng thay vì kích hoạt bảng đã chèn như bên dưới và hãy thử.

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

Bảng được chèn lưu trữ bản sao của các hàng bị ảnh hưởng trong INSERTUPDATE các câu lệnh. Thay vì trình kích hoạt thay thế INSERT hiện tại bằng định nghĩa trình kích hoạt.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Entity Framework 4 Code đầu tiên - Ngăn chặn việc thả / tạo DB

  2. Có thể để mệnh đề Đầu ra SQL trả về một cột không được chèn vào không?

  3. Đặt hồ sơ công khai mặc định cho thư cơ sở dữ liệu (SSMS)

  4. Cách sao chép dữ liệu và bảng cơ sở dữ liệu từ cơ sở dữ liệu này sang cơ sở dữ liệu khác

  5. Cách khôi phục cơ sở dữ liệu SQL Server thông qua mã C #