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

SQL Server 2005:Chèn nhiều hàng với một truy vấn

Chuẩn rồi. Bạn phải sử dụng UNION ALL s trong SQL Server 2005 để chèn nhiều hàng trong tập lệnh SQL trong một câu lệnh.

INSERT INTO Table 
  (Name, Location) 
SELECT 'Name1', 'Location1' 
UNION ALL
SELECT 'Name2', 'Location2'
UNION ALL
SELECT 'Name3', 'Location3' 

Cách thay thế chính khác là lặp lại Insert tuyên bố nhiều lần thậm chí còn dài dòng hơn. Bạn cần phải cẩn thận sử dụng Giao dịch rõ ràng trong trường hợp cuối cùng này để tránh chi phí cho nhiều cam kết riêng lẻ (và tất nhiên là vì lý do nguyên tử)

Nếu bạn có nhiều hàng để chèn, bạn có thể sử dụng CHÈN SỐ LƯỢNG LỚN để tải tất cả từ một tệp được phân tách trong một câu lệnh.

Cuối cùng, nếu đây là dữ liệu đã có trong cơ sở dữ liệu mà bạn đang viết kịch bản (có thể để triển khai trên một máy chủ khác) thì Gói công cụ SSMS addin có chức năng "Tạo câu lệnh chèn" có thể tạo các câu lệnh này cho bạ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. Cách sử dụng thủ tục lưu trữ ‘sp_server_info’ trong SQL Server

  2. Các cách thay thế và tốt nhất để định dạng truy vấn SQL cho các tin nhắn cảnh báo qua điện thoại

  3. UCS-2 và SQL Server

  4. Sử dụng GO trong một giao dịch

  5. DateTime.Kind được đặt thành không xác định, không phải UTC, khi tải từ cơ sở dữ liệu