Wednesday, 17 January 2018

Sekilas Tentang CURSOR dalam SQL

CURSOR

Cursor merupakan sebuah tipe data yang berisikan kelompok data dari suatu tabel atau lebih. Cursor sendiri lebih mempunyai fungsi sebagai berikut :
1.     Menghasilkan record-record tertentu secara spesifik.
2.     Menyatakan sudut pandang yang berbeda untuk pengguna dari keadaan data yang sesungguhnya.
3.     Membantu akses stord procedures yang berhububungan dengan manipulasi data serta dalam penggunaan straiger.
Macam cursor yang tersedia di SQL server adalah:
1.     Static
Cursor jenis ini meru pakan jenis read only dan sipatnya tida akan berubah jika pada saat proses pem bacaan cursor terjadi manipulasi data di tabel yang asli. Umumnya jenis cursor ini di gunakan pada suatu pemrograman stored procedures yang tida membutuhkan keberadaan data dinamis.
2.     Keyset
Cursor jenis ini merupakan kebalikan dari cursor jenis static,setiap perubahan di tabel yang asli akan langsung terlihat di cursor saat proses berlangsung.
3.     Dinamic
Dengan cursor jenis ini,maka kita bisa menggunakan semua jenis perintah fetch
4.     Fast forward-Only
Cursor jenis ini merupakan cursor yang mempunyai kecepatan akses paling tinggi.Hal tersebut dikarenakan cursor jenis ini hanya mendukung operasi fetch next dan akan tertutup secara otomatis saat pointer mencapai akhir cursor.
Didalam SQL server,sebuah cursor dapat diakses dengan dua macam cara:
1.     Melalui T-SQL Server
2.     Melalui API (Application Programming Interface )dalam bahasa pemrograman seperti :ADO,OLE DB atau ODBC
Sebuah cursor secara normal merupakan sebuah variabel lokal dalam sebuah stored proceduris yang secara umum dapat di gunakan dengan langkah-langkah sebagai berikut :
1.     Dideklarasikan sebagai variabel lokal dengan mengambil nilai atau data dari suatu tabel.langkah ini di lakukan dengan pemerintah declari (nama cursor).variabel nama cursor tida sama dengan variabel biasa yang harus di dahului dengan tanda at ( @) , variabel cursor tida di dahului dengan tanda @ .
2.     Membuka cursor dengan sintaks open (nama cursor)
Perintah untuk mengambil nilai dari cursor yang ada dapat menggunakan perintah fetch. macam perintah fetch :
a)     Fetch next
Mengambil nilai cursor dari posisi recordcursor yang ada sekarang dan menaikan pointerrecord ke record berikutnya.Fetch Next merupakan option default dari pemerintah.
b)    Feth prior
Mengambil nilai curser dari posisi record curser sebelumnya sekaligus mengalahkan pointer recor ke posisi sebelunya jika posisi recor telah mencapai top position  ,maka tida ada nilai cursor yang di kembalikan.
c)     Fetch first
Mengambil nilai cursor dari posisi recor pertama, dan mengarahkan pointer ke posisi recor pertama.
d)    Fatch last
Mengambil nilai cursor dari posisi recor terahir ,dan mengarahkan pointer ke posisi recor terahir.
e)     Pengambilan nilai cursor secara umum diarahkan pada suatu variabel yang sesuai dengan pengambilandata yang ada. Sehingga kita harus mendeklarasikan variabel untuk penempatan nilai cursor terlebih dahulu. Untuk mengetahui apakah cursor telah mencapai laset position maka kita bisa menggunakan variabel @@fetch_status yang akan menunjukan nilai kurang dari 0 jika cursor telah sampai di last position.
3.     Setelah cursor selesai di jalankan, kita bisa membebaskan memori dari penggunaan cursor dengan perintah close (nama cursor).
4.     Langkah terahir adalah menutup cursor yang sudah selesai kita pergunakan dengan perintah deallocate (nama cursor).

Itulah sekilas tentang CURSOR pada SQL, semoga bermanfaat, untuk info lebih lanjut anda dapat membuka website resminya. Terimakasih..!


Sumber referensi : S.Rizky,"Panduan Belajar SQL Server",jkt,PPP,2004.

0 comments:

Post a Comment