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:
- Static Cursor
- Fast_Forward
- Dynamic
- 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
- Deklarasikan variable-variable apa saja yang akan dimasukan ke dalam cursor
- Deklarasikan variable sebagai cursor
- Set atau isi cursor dengan query sql
- Fecth Next data dari cursor ke variable yang sudah di deklarasikan di point 1
- Check jika status OK, isi logic programming di sini
- Sebelum kembali looping, lakukan seperti proses point 4
- Close cursor
- 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