Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PL/SQL CURSOR Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan.

Presentasi serupa


Presentasi berjudul: "PL/SQL CURSOR Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan."— Transcript presentasi:

1 PL/SQL CURSOR Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan

2 REFERENSI Abraham Silberscahatz, Henry F. Korth. Database System Concepts. McGraw-Hill Raghu Ramakrisnan, Gherke. Database Management System. McGraw-Hill Greenberg, N. (Edition 1.1 August 2004). Oracle Database 10g: SQL Fundamental I. Jobi Varghese – BAB 6

3 CURSOR Pada block PL/SQL kita tidak bisa menampilkan beberapa baris dengan menggunakan perintah SELECT secara langsung. Untuk mengatasi hal tersebut, maka kita dapat menggunakan sebuah kursor. Berbeda dengan variabel skalar, cursor dapat menampung banyak nilai berupa baris atau record. Nilai-nilai yang disimpan dalam sebuah kursor kemudian dapat dimanipulasi sehingga dapat digunakan sesuai kebutuhan. Cursor dapat diibaratkan sebagai tabel virtual.

4 Cursor sendiri terdiri dari 2 tipe : Implicit Cursor
Merupakan Cursor yang dideklarasikan dan dikelola secara otomatis oleh PL/SQL untuk semua operasi DML SQL dan PL/SQL SELECT Statement Perintah SELECT akan diikuti dengan INTO Dideklarasikan setelah klausa Begin pada Blok PL/SQL Explicit Cursor Merupakan Cursor yang dikelola dan dideklarasikan oleh Programmer Dapat dideklarasikan sebelum klausa Begin pada Blok PL/SQL maupun setelahnya

5 Implicit Cursor DECLARE vjumlah NUMBER; BEGIN SELECT kapasitas INTO vjumlah FROM kelas WHERE kdkelas='&kelas'; DBMS_OUTPUT.PUT_LINE(vjumlah); END; /

6 Explicit Cursor Sejenis variabel yang dapat digunakan untuk menampung banyak nilai berupa baris atau record Pointer yang menunjuk ke suatu bagian memori untuk menyimpan hasil instruksi SQL

7 TAHAP PENGGUNAAN CURSOR
Deklarasi (DECLARE) Buka (OPEN) Pengambilan (FETCH) Tutup (CLOSE)

8 Cursor Eksplisit

9 CURSOR EKSPLISIT DECLARE CURSOR nama_cursor IS -- Membuka cursor
statemen SELECT; -- Membuka cursor OPEN nama_cursor ;-- Menangkap isi cursor FETCH nama_cursor INTO nama_variabel; -- Menutup cursor CLOSE nama_cursor;

10 DEKLARASI CURSOR DECLARE CURSOR nama_cursor IS CURSOR C_Mahasiswa IS
Statemen SELECT; CURSOR C_Mahasiswa IS SELECT nim, nama FROM TMahasiswa;

11 MEMBUKA CURSOR OPEN nama_cursor; OPEN C_Mahasiswa;

12 MENANGKAP ISI CURSOR FETCH nama_cursor INTO nama_variabel;
FETCH C_Mahasiswa INTO Var1, Var2; FETCH C_Mahasiswa INTO Var3;

13 MENUTUP CURSOR CLOSE nama_cursor; CLOSE C_Mahasiswa;

14 CONTOH CURSOR DECLARE BEGIN END; / CURSOR C_Mahasiswa IS
SELECT nim, nama FROM TMahasiswa; Var1 TMahasiswa.NIM%TYPE; Var2 TMahasiswa.NAMA%TYPE; BEGIN OPEN C_Mahasiswa; LOOP FETCH C_Mahasiswa INTO Var1, Var2; EXIT WHEN C_Mahasiswa%NOTFOUND; HTP.P(C_Mahasiswa%ROWCOUNT|| ‘. ‘ ||Var1|| ‘ ‘||Var2); END LOOP; CLOSE C_Mahasiswa; END; /

15 CONTOH CURSOR DECLARE BEGIN END; / CURSOR C_Mahasiswa IS
SELECT nim, nama FROM TMahasiswa; Var3 C_Mahasiswa%ROWTYPE; BEGIN OPEN C_Mahasiswa; LOOP FETCH C_Mahasiswa INTO Var3; EXIT WHEN C_Mahasiswa%NOTFOUND; DBMS_OUTPUT.PUT_LINE(C_Mahasiswa%ROWCOUNT|| ‘. ‘ ||Var3.NIM|| ‘ ‘||Var3.NAMA); END LOOP; CLOSE C_Mahasiswa; END; /

16 CONTOH CURSOR DECLARE CURSOR C_Mahasiswa IS Var1 TMahasiswa.NIM%TYPE;
SELECT nim, nama FROM TMahasiswa; Var1 TMahasiswa.NIM%TYPE; Var2 TMahasiswa.NAMA%TYPE; BEGIN FOR i IN C_Mahasiswa LOOP Var1 := i.NIM; Var2 := i.NAMA; DBMS_OUTPUT.PUT_LINE(Var1|| ‘ ‘||Var2); END LOOP; END; /

17

18

19

20

21 Latihan Dengan menggunakan table Employees pada skema HR, buat blok PL/SQL untuk menghitung jumlah pegawai yang memiliki salary lebih kecil dari salary Steven King! Buatlah blok PL/SQL dengan menggunakan kursor eksplisit untuk menghasilkan output: Employee_id Name Salary 100 Steven King 24000

22 SELESAI


Download ppt "PL/SQL CURSOR Program Studi D3 Teknik Informatika -Fakultas Ilmu Terapan."

Presentasi serupa


Iklan oleh Google