Berikut adalah langkah-langkah bagaimana Anda menulis kursor
1-Deklarasikan Kursor oleh menggunakan nama Kursor dengan pernyataan Pilih
2- Buka Kursor untuk diisi dengan output pernyataan Pilih
3- Ambil baris untuk memprosesnya satu per satu
4- Tutup Kursor
5- De-allocate Cursor
Kami menghadapi situasi yang berbeda di mana kami dapat menggunakan kursor. Di bawah ini adalah beberapa contoh di mana kita dapat menggunakan kursor
Contoh:
1-- Matikan semua koneksi dari Database SQL Server
2-- Tambahkan kolom baru seperti CreatedBy ke semua tabel di Database
3--Aktifkan/Nonaktifkan semua pemicu di Database SQL Server
4--Buat Skrip/Ambil cadangan Semua Database di SQL Server satu per satu
5 --Truncate/Delete semua tabel dari Database SQL Server
Contoh Kode:
Kode di bawah ini dapat digunakan untuk mematikan semua proses ke database. Kami tidak dapat mengganti nama database jika ada proses yang mengakses database. Untuk mengganti nama kita harus mematikan semua proses sebelum kita mengganti nama database di SQL Server.
USE MASTER GO DECLARE @DatabaseName AS VARCHAR(500) -->Provide the DataBaseName for which want to Kill all processes. SET @DatabaseName='TestDB' DECLARE @Spid INT --1: Declare Cursor: DECLARE KillProcessCur CURSOR FOR SELECT spid FROM sys.sysprocesses WHERE DB_NAME(dbid) = @DatabaseName --2: OPEN Cursor OPEN KillProcessCur --3: Fetch A record FETCH Next FROM KillProcessCur INTO @Spid --Loop Through the Rows one by one WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @SQL VARCHAR(500)=NULL SET @SQL='Kill ' + CAST(@Spid AS VARCHAR(5)) PRint @SQL EXEC (@SQL) PRINT 'ProcessID =' + CAST(@Spid AS VARCHAR(5)) + ' killed successfull' FETCH Next FROM KillProcessCur INTO @Spid END --4: Close the Cursor CLOSE KillProcessCur --5: Deallocate Cursor DEALLOCATE KillProcessCur