JSON Variables

Rabu, 22 Juni 2022

CARA MEMBUAT LOOPING DENGAN CURSOR DI SQL SERVER



Hallo teman teman yang sedang bingung tugas atau bingung narik data di kantor hehe

Kali ini saya akan menjelaskan apa itu looping cursor dan sebagainya. Yuk simak

 Apa itu cursor dan bagaimana cara menggunakannya? Cursor merupakan salah satu fitur dari SQL Server yang dapat digunakan untuk looping data, gak cuma looping tapi ada banyak hal yang dapat dilakukan menggunakan Cursor di SQL Server, tetapi di sini gak akan bahas hal tersebut. Saya hanya akan membahas looping menggunakan cursor di SQL Server. Sebelumnya saya juga sudah membahas looping menggunakan while di SQL Server, buat yang belum tahu bisa klik disini untuk mengeceknya.

Berbagai Tipe Cursor di SQL Server

SQL Server Cursor memiliki beberapa jenis:

  1. Static Cursor
  2. Fast_Forward
  3. Dynamic
  4. KeySet

Di antara 4 jenis cursor di atas, menurut saya cursor yang paling cepat di SQL Server adalah Cursor FAST_FORWARD, karena hmmmmm buat yang gak setuju, bisa lakukan perbandingan sendiri aja ya.

Sekarang kita langsung lihat, seperti apa script untuk membuat looping menggunakan cursor fast_forward di SQL Server.

Langkah-langkah membuat Looping Cursor di SQL Server

  1. Deklarasikan variable-variable apa saja yang akan dimasukan ke dalam cursor
  2. Deklarasikan variable sebagai cursor
  3. Set atau isi cursor dengan query sql
  4. Fecth Next data dari cursor ke variable yang sudah di deklarasikan di point 1
  5. Check jika status OK, isi logic programming di sini
  6. Sebelum kembali looping, lakukan seperti proses point 4
  7. Close cursor
  8. Deallocate Cursor

Kalo bingung dengan langkah-langkah di atas, langsung aja check sample query membuat cursor di SQL Server ya guys.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
declare @jenisAgunan varchar(200), @nilaiAgunan varchar(200), @nomorAgunan varchar(250), @jenisPengikat varchar(200), @kab varchar(50)
declare @cursor as cursor
set @cursor = cursor fast_forward for
select d.jenisAgunanKet, d.nilaiAgunanIndep, d.nomorAgunan, d.jenisPengikatanKet, d.kabKotaLokasiAgunan
from dbo.DataAguunan d
open @cursor
fetch next from @cursor into @jenisAgunan, @nilaiAgunan, @nomorAgunan, @jenisPengikat, @kab
while(@@FETCH_STATUS = 0)
begin
    select @jenisAgunan, @nilaiAgunan, @nomorAgunan, @jenisPengikat, @kab
    fetch next from @cursor into @jenisAgunan, @nilaiAgunan, @nomorAgunan, @jenisPengikat, @kab
end
close @cursor
deallocate @cursor

Script query di atas adalah sample untuk membuat cursor fast_forward di sql server, cursor tercepat yang ada di SQL Server.

0 komentar:

Posting Komentar