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

Trả về giá trị từ câu lệnh INSERT trong SQL Server 2008

Có - bạn có thể sử dụng mệnh đề OUTPUT ít được biết đến và ít được sử dụng trong câu lệnh INSERT của bạn

INSERT INTO dbo.YourTable(col1, col2, col3, ...., ColN)
OUTPUT Inserted.Col1, Inserted.Col5, Inserted.ColN
VALUES(val1, val2, val3, ....., valN)

Điều này trả về một tập hợp dữ liệu bình thường mà bạn có thể xử lý khi cần.

Khi tài liệu MSDN hiển thị, bạn cũng có thể gửi các giá trị OUTPUT vào ví dụ:một biến bảng hoặc bảng tạm thời để sử dụng sau này, nếu bạn cần.

Để trả lời câu hỏi cập nhật của bạn, hãy sử dụng cái này:

INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhật ký giao dịch SQL Server - Phần 2

  2. Lỗi - Giao dịch được liên kết với kết nối hiện tại đã hoàn tất nhưng chưa được xử lý

  3. Cách tốt nhất để chia nhỏ dữ liệu XML thành các cột cơ sở dữ liệu SQL Server

  4. Tập lệnh SQL để thay đổi TẤT CẢ các phím ngoại để thêm BẬT XÓA CASCADE

  5. Các gói SQL Server:sự khác biệt giữa Quét chỉ mục / Tìm kiếm chỉ mục