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

Cắt ngắn bảng sau đó chèn dữ liệu vào cùng một bảng chỉ chèn 1 bản ghi

Bạn cần di chuyển TRUNCATE TABLE [dbo].[at_CurrencyRates]; ra khỏi thủ tục được lưu trữ nếu bạn đang gọi nó 289 lần để chèn từng hàng.

Mỗi khi bạn gọi thủ tục đã lưu trữ, nó sẽ xóa tất cả các hàng khỏi bảng, do đó bạn sẽ luôn chỉ kết thúc với một hàng mà bạn vừa chèn.

Tốt hơn là thay đổi quy trình đã lưu trữ để thực hiện việc chèn tất cả các hàng được yêu cầu trong một lần thay vì chỉ một lần. Bạn có thể sử dụng một tham số có giá trị trong bảng để chuyển vào tất cả các hàng mong muốn, sau đó bạn chỉ cần một TRUNCATE theo sau là INSERT [dbo].[at_CurrencyRates] ... SELECT * FROM @TVP .



  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 nhận cấp phân cấp của truy vấn này

  2. Làm cách nào để kiểm tra xem một tham số trống hay rỗng trong thủ tục được lưu trữ trên Máy chủ Sql trong câu lệnh IF?

  3. Cách tìm các trường chứa ký tự TAB trong SQL Server

  4. Lược đồ trong SQL Server là gì và cách tạo / thả lược đồ trong cơ sở dữ liệu SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 27

  5. Tải lên tài liệu trong sql server 2008 bằng asp.net C #