Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehBerlian Abadi Telah diubah "9 tahun yang lalu
1
Computer Science, University of Brawijaya Putra Pandu Adikara, S.Kom Cursor Basis Data 2
2
Cursor CURSOR digunakan untuk mengakses setiap row pada suatu table atau dari result set Pada OOP, dapat dimisalkan layaknya foreach (walaupun berbeda), namun konsepnya untuk mengiterasi elemen (row) pada suatu array (table)
3
Cursor Yang harus diperhatikan dan dibuat dalam cursor antara lain: Declaring Cursor Deklarasi variabel CURSOR Opening Cursor Membuka CURSOR sebelum fetching data dari table Fetching Cursor Mengambil data dari table Closing Cursor Menutup CURSOR Deallocate Mendealokasikan CURSOR yang telah dideklarasikan
4
Declaring CURSOR Syntax DECLARE cursor_name [INSENSITIVE] [SCROLL] CURSOR FOR select_statement [FOR {READ ONLY | UPDATE [OF column_name [,...n]]}] Contoh DECLARE @getAccountID CURSOR FOR SELECT Account_ID FROM Accounts
5
Opening Cursor Syntax: OPEN { { [GLOBAL] cursor_name } | cursor_variable_name} Contoh: OPEN @getAccountID
6
Fetching Cursor Syntax: FETCH [ [NEXT | PRIOR | FIRST | LAST | ABSOLUTE {n | @nvar} | RELATIVE {n | @nvar} ] FROM ] { { [GLOBAL] cursor_name } | @cursor_variable_name} [INTO @variable_name[,...n] ] Contoh: FETCH NEXT FROM @getAccountID INTO @AccountID FETCH PRIOR FROM @getAccountID INTO @AccountID
7
Fetching Status @@FETCH_STATUS mengembalikan nilai status dari hasil FETCH CURSOR terakhir. Biasanya digunakan dalam WHILE untuk mengiterasi CURSOR 0 sukses -1 gagal atau diluar result set -2 row yang diambil hilang Pengambilan Fetch Status harus sebelum FETCH Contoh WHILE @@FETCH_STATUS = 0 BEGIN PRINT @AccountID FETCH NEXT FROM @getAccountID INTO @AccountID END
8
Closing Cursor Syntax: CLOSE { { [GLOBAL] cursor_name } | cursor_variable_name } Contoh: CLOSE @getAccountID Catatan: Jika telah menutup kursor, tetapi belum deallocated, maka dapat dibuka kembali bila diperlukan.
9
Deallocate Cursor Syntax: DEALLOCATE { { [GLOBAL] cursor_name } | @cursor_variable_name} Contoh: DEALLOCATE @getAccountID
10
CONTOH LENGKAP CURSOR
11
Simple Cursor USE AdventureWorks2008R2; GO DECLARE vend_cursor CURSOR FOR SELECT BusinessEntityID, Name, CreditRating FROM Purchasing.Vendor OPEN vend_cursor FETCH NEXT FROM vend_cursor;
12
DECLARE @AccountID INT DECLARE @getAccountID CURSOR SET @getAccountID = CURSOR FOR SELECT Account_ID FROM Accounts OPEN @getAccountID FETCH NEXT FROM @getAccountID INTO @AccountID WHILE @@FETCH_STATUS = 0 BEGIN PRINT @AccountID FETCH NEXT FROM @getAccountID INTO @AccountID END CLOSE @getAccountID DEALLOCATE @getAccountID
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.