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

Nhận ID hàng được chèn cuối cùng (với câu lệnh SQL)

Nếu bảng SQL Server của bạn có một cột thuộc loại INT IDENTITY (hoặc BIGINT IDENTITY ), sau đó bạn có thể nhận giá trị được chèn mới nhất bằng cách sử dụng:

INSERT INTO dbo.YourTable(columns....)
   VALUES(..........)

SELECT SCOPE_IDENTITY()

Điều này hoạt động miễn là bạn chưa chèn một hàng khác - nó chỉ trả về IDENTITY cuối cùng giá trị được phân phối trong phạm vi này tại đây.

Có ít nhất hai tùy chọn khác - @@IDENTITYIDENT_CURRENT - đọc thêm về cách chúng hoạt động và chúng khác nhau theo cách nào (và có thể mang lại cho bạn kết quả bất ngờ) trong bài đăng blog xuất sắc này của Pinal Dave tại đây.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các cột ngày tháng trong SQL-Server (MSSQL-JDBC 3.0) chạy trong Java 1.7.0 được truy xuất là 2 ngày trước đây

  2. Cách tạo câu lệnh chèn từ tệp văn bản cho bảng SQL Server trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 106

  3. Cấp quyền cấp bảng trong SQL Server

  4. SQL Server:Lỗi liên kết giao tiếp SSL yêu cầu (không nhận được gói)

  5. Sử dụng SCOPE_IDENTITY () để trả lại Giá trị nhận dạng được chèn lần cuối trong cùng một phạm vi (Máy chủ SQL)