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

Làm thế nào để viết một thủ tục được lưu trữ để chèn giá trị vào hai bảng có mối quan hệ khóa ngoài?

Đây là một bình luận hơi dài.

SQL Server chỉ cho phép bạn chèn vào một bảng trong một truy vấn duy nhất. Có lẽ bạn muốn cung cấp cả thông tin nhân viên và thông tin yêu cầu. Vì vậy, giới hạn trên insert là một vấn đề thực sự.

Bạn có thể khắc phục hạn chế bằng cách tạo một dạng xem kết hợp hai bảng và sau đó xác định một instead of insert kích hoạt trên chế độ xem. Điều này được giải thích trong tài liệu .

Điều đó nói lên rằng bạn dường như không có kiến ​​thức SQL sâu rộng. Vì vậy, tôi khuyên bạn chỉ nên sử dụng hai câu lệnh riêng biệt, một câu lệnh cho mỗi bảng. Bạn có thể bọc chúng trong một quy trình được lưu trữ, nếu bạn thấy thuận tiệ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. Tên tệp SQL Server so với phiên bản

  2. Làm thế nào để Hạn chế Độ sâu Đệ quy CTE nhưng Chọn Bảng Chung?

  3. Cách sử dụng RANK () trong SQL Server

  4. Cách tốt nhất để nhận danh tính của hàng được chèn trong Máy chủ được liên kết?

  5. Xoay các cột động, không có sự tổng hợp