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

SQL Server - TRƯỚC KHI CHÈN kích hoạt

Vui lòng kiểm tra SQL Server Replace Of Trigger sau để kiểm tra bảng chi tiết đầu tiên. Trong trường hợp thiếu dữ liệu trong Chi tiết, nó sẽ chèn bảng đó. Bước thứ hai, nó tiếp tục với việc chèn vào bảng Kỹ năng

CREATE Trigger MySkillsInsteadOfInsert on dbo.MySkills Instead Of Insert
AS
Begin

    insert into MySkills_details (
        EmpId -- and other relevant columns
    )
    select i.EmpId -- and other relevant columns
    from inserted i
    left join MySkills_details d on i.EmpId = d.EmpId
    where d.EmpId is null

    Insert Into MySkills(EmpId) -- and other relevant columns
    Select EmpId -- and other relevant columns
    From inserted i;

End

Để biết thêm mẫu về SQL Máy chủ thay vì trình kích hoạt xin vui lòng tham khảo ví dụ nhất định.

Nhưng xin lưu ý những lời của tôi, tôi nghĩ rằng đó sẽ là một thiết kế thay thế để giữ các kỹ năng trong một bảng chính khác. Và trước khi chèn vào chi tiết, nói chung chúng tôi kiểm tra xem bản chính có tồn tại hay không. Người dùng nói chung chèn dữ liệu chính trước. Trong trường hợp này, dữ liệu bảng Kỹ năng. Sau đó, các chi tiết sẽ được điền.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thay thế cho việc sử dụng các biến cục bộ trong mệnh đề where

  2. Làm cách nào để xác định các phiên bản SQL Server đã cài đặt và phiên bản của chúng?

  3. Cố gắng đính kèm cơ sở dữ liệu được đặt tên tự động cho tệp .... database1.mdf không thành công

  4. Lỗi SQL Server 1934 xảy ra trên CHÈN vào bảng với cột được tính toán PHP / PDO

  5. Khắc phục “Không thể chuyển đổi khi chuyển đổi giá trị varchar” khi cố gắng ghép nối trong SQL Server