pt8 - cursor

Post on 25-Dec-2015

7 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

PL/SQL Cursor

TRANSCRIPT

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

MI2163-Dasar Pemrograman Basisdata

Prodi D3 Manajemen InformatikaFakultas Ilmu Terapan

Universitas Telkom

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

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

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.

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.

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

employee id.

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

dengan menggunakan perintah SQL%FOUND dan SQL%ROWCOUNT

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.

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>;

Contoh Cursor Eksplisit• Contoh penggunaan cursor eksplisit untuk menampilkan data

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

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.

Question ??

top related