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

Thủ tục lưu trữ cuộc gọi SQL cho mỗi hàng mà không cần sử dụng con trỏ

Nói chung, tôi luôn tìm cách tiếp cận dựa trên tập hợp (đôi khi phải thay đổi lược đồ).

Tuy nhiên, đoạn mã này có vị trí của nó ..

-- Declare & init (2008 syntax)
DECLARE @CustomerID INT = 0

-- Iterate over all customers
WHILE (1 = 1) 
BEGIN  

  -- Get next customerId
  SELECT TOP 1 @CustomerID = CustomerID
  FROM Sales.Customer
  WHERE CustomerID > @CustomerId 
  ORDER BY CustomerID

  -- Exit loop if no more customers
  IF @@ROWCOUNT = 0 BREAK;

  -- call your sproc
  EXEC dbo.YOURSPROC @CustomerId

END


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để gọi một thủ tục được lưu trữ với các đối số bằng sqlcmd.exe?

  2. Node.js và Microsoft SQL Server

  3. Làm cách nào để di chuyển một bảng vào một lược đồ trong T-SQL

  4. SQL Server:số hàng tối đa trong bảng

  5. Tương đương tốt nhất cho IsInteger trong SQL Server