Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Prosedur Tersimpan Panggilan SQL untuk setiap Baris tanpa menggunakan kursor

Secara umum saya selalu mencari pendekatan berbasis set (kadang-kadang dengan mengorbankan mengubah skema).

Namun, cuplikan ini memiliki tempatnya..

-- 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. sql cross join - apa gunanya ada yang menemukannya?

  2. Bagaimana Melakukan GABUNGAN ANTI SEMI KIRI di SQL Server

  3. Kembalikan Kunci Utama dari Server Tertaut di SQL Server (Contoh T-SQL)

  4. Sisipkan SQL Server jika tidak ada

  5. DevOps:DBA atau Pengembang – Mendapatkan Keseimbangan dengan Benar