pt8 - cursor

12
CURSOR RA. Paramita Mayadewi, S.Kom,M.T. MI2163-Dasar Pemrograman Basisdata Prodi D3 Manajemen Informatika Fakultas Ilmu Terapan Universitas Telkom

Upload: thamheeta

Post on 25-Dec-2015

7 views

Category:

Documents


3 download

DESCRIPTION

PL/SQL Cursor

TRANSCRIPT

Page 1: Pt8 - Cursor

CURSORRA. Paramita Mayadewi, S.Kom,M.T.

MI2163-Dasar Pemrograman Basisdata

Prodi D3 Manajemen InformatikaFakultas Ilmu Terapan

Universitas Telkom

Page 2: Pt8 - Cursor

Tujuan Pembelajaran

• Mampu membedakan penggunaan cursor implisit & cursor eksplisit

• Mampu mendeklarasikan dan mengendalikan cursor eksplisit

• Mampu menggunakan loop sederhana dan loop untuk cursor untuk mengambil data

Page 3: Pt8 - Cursor

Pengertian Cursor• Cursor merupakan suatu variabel yang

digunakan untuk menampung hasil query yang terdiri atas lebih dari satu row atau record.

• Cursor dapat diilustrasikan sebagai penampung sekaligus pointer atas hasil eksekusi query

• Terdapat dua macam cursor, yaitu: – cursor implisit dan– cursor eksplisit

Page 4: Pt8 - Cursor

Cursor Implisit• Cursor implisit dalam PL/SQL TIDAK

PERLU dideklarasikan sebelumnya. • Cursor implisit menggunakan perintah

SELECT dengan klausa INTO dalam blok perintah PL/SQL dan HANYA dapat menghasilkan satu baris record saja.

• Oracle akan memunculkan pesan kesalahan jika hasilnya lebih dari satu baris.

Page 5: Pt8 - Cursor

Cursor Implisit• Atribut dalam cursor implisit:– SQL%NOTFOUND jika baris tidak

ditemukan– SQL%FOUND jika baris ditemukan– SQL%ISOPEN mengembalikan nilai

TRUE jika cursor dalam keadaan terbuka– SQL%ROWCOUNT mengembalikan

jumlah baris yang telah diambil.

Page 6: Pt8 - Cursor

Contoh Cursor Implisit• Skema yang digunakan dalam contoh ini adalah skema HR dari Oracle.• Menampilkan last name dan salary pegawai berdasarkan masukan

employee id.

Page 7: Pt8 - Cursor

Contoh penggunaan SQL%FOUND dan SQL%ROWCOUNT• Menampilkan last name dan salary berdasarkan masukan employee id

dengan menggunakan perintah SQL%FOUND dan SQL%ROWCOUNT

Page 8: Pt8 - Cursor

Cursor Eksplisit• Berbeda dengan cursor implisit yang hanya dapat

mengembalikan 1 baris record saja, cursor eksplisit digunakan jika query yang dilakukan menghasilkan output lebih dari 1 dari record.

• Terdapat 4 atribut dalam cursor eksplisit:– %NOTFOUND jika baris tidak ditemukan– %FOUND jika baris ditemukan– %ISOPEN mengembalikan nilai TRUE jika cursor dalam

keadaan terbuka– %ROWCOUNT mengembalikan jumlah baris yang telah

diambil.

Page 9: Pt8 - Cursor

Cursor Eksplisit• Aturan dalam penggunaan cursor eksplisit:

– Deklarasikan cursor terlebih dahulu dalam blok DECLARE• Sintaks yang digunakan:

CURSOR <namaCursor> IS <statemen SELECT>;

– Buka cursor dalam blok perintah (BEGIN…..END;)• Sintaks yang digunakan:

OPEN <namaCursor>;

– Proses data menggunakan statemen FETCH• Sintaks yang digunakan:

FETCH <namaCursor> INTO <namaVariabel>;

– Tutup cursor• Sintaks yang digunakan:

CLOSE <namaCursor>;

Page 10: Pt8 - Cursor

Contoh Cursor Eksplisit• Contoh penggunaan cursor eksplisit untuk menampilkan data

employee berdasarkan masukan salary dengan menggunakan blok pengulangan LOOP…….EXIT….END LOOP

Page 11: Pt8 - Cursor

Referensi• Feuerstein, Steven, and Bill Pribyl. Oracle PL/SQL

Programming, 5th Edition. Sebastopol: O'Reilly Media, 2009.

• Srivastava, Tulika, and Sunitha Patel. Oracle Database 10g: PL/SQL Fundamental 2nd Edition. Boston: Oracle Publisher, 2006.

• Urman, Scott, Ron Hardman, and Michael Laughlin. Oracle Database 10g PL/SQL Programming. Boston: McGraw-Hill, 2004.

Page 12: Pt8 - Cursor

Question ??