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