Selasa, 24 Desember 2013

Tugas Rangkuman - Pemrograman Basis Data II


NIM    : 09.39010.0064
Nama   : Anita Rachmadyah
Nama Dosen : Titik Lusiani, M.Kom., OCP


CURSOR

Cursor merupakan sejenis variabel yang dapat digunakan untuk menampung banyak nilai berupa baris atau record. Nilai-nilai yang disimpan di dalam sebuah Cursor selanjutnya dapat dimanipulasi sehingga dapat digunakan sesuai kebutuhan. Atau dapat dikatakan bahwa Cursor merupakan pointer yang menunjuk ke suatu bagian memori untuk menyimpan hasil instruksi SQL. Hasil instruksi SQL tersebut biasanya merupakan multiple row, dan Cursor digunakan untuk menunjuk (pointer) ke salah satu baris data.

Dalam pemakaiannya, sebuah Cursor akan melalui beberapa tahap yakni :
  1. Deklarasi (Declare)
  2. Buka (Open)
  3. Ambil Data (Fetch)
  4. Tutup (Close).


Ada pula yang menyebutkan lima tahap, yakni :
  1. Deklarasi (Declare)
  2. Buka (Open)
  3. Baca Berulang (Loop / Fetch)
  4. Tutup (Close)
  5. Dealokasi Memori (Deallocate)


Cursor sendiri dibedakan menjadi :
  1. Cursor Eksplisit, merupakan Cursor yang harus dibuka dan ditutup secara manual.
  2. Cursor Implisit, merupakan Cursor yang tidak perlu untuk dideklarasikan sebelumnya.



PACKAGE

Package merupakan suatu kumpulan subprogram seperti PROCEDURE dan FUNCTION. Dengan Package, Kita dapat menjalankan beberapa blok PL/SQL hanya dalam satu kali eksekusi.

Keuntungan Menggunakan PACKAGE :
  1. Modularity
  2. Memudahkan dalam hal Maintenance
  3. Memudahkan dalam hal design aplikasi
  4. Dapat Menyembunyikan Informasi, karena yang hanya ditampilkan dalam sebuah aplikasi hanya parent atau spesifikasinya saja, sedangkan body nya disembunyikan dan tidak dapat diakses.
  5. Added functionality
  6. Meningkatkan Performance
  7. Dapat menggunakan Overloading


Package terdiri dari 2 bagian :
  1. Bagian Spesifikasi atau Parent
  2. Bagian Body


Hal Pertama yang kita harus lakukan dalam membuat sebuah package yaitu kita harus mendefinisikan terlebih dahulu Bagian Parentnya baru kemudian kita definisikan bagian Bodynya.

Syntax Package Parent :

CREATE [OR REPLACE] PACKAGE package_name IS|AS
public type and variable declarations
subprogram specifications
END [package_name];

Syntax Package Body :

CREATE [OR REPLACE] PACKAGE BODY package_name IS|AS
private type and variable declarations
subprogram bodies
[BEGIN initialization statements]
END [package_name];


PROCEDURE DAN FUNCTION

Procedure adalah blok PL/SQL yang menyimpan sekumpulan perintah yang tidak disertai dengan pengembalian nilai. Jadi prosedur hanya melakukan proses tertentu saja. Procedure secara umum diaktivasi dengan statemen EXECUTE.

Function adalah jenis PL/SQL block yang menghasilkan satu nilai. Secara umum, function digunakan melakukan perhitungan, mengecek eksistensi dan kevalidan suatu data. Function bisa dilibatkan dalam expresi. Function bisa disimpan dalam database sebagai object schema, sehingga suatu function bisa digunakan berulangkali tanpa harus melakukan parsing dan compile ulang.

CREATE [OR REPLACE] FUNCTION function_name
[(parameter1 [mode1] datatype1,
RETURN datatype
IS | AS
PL/SQL block;


SQL> DESC emp;
 Name                    Null?    Type
 ----------------------- -------- -------------
 EMPNO                   NOT NULL NUMBER(4)
 ENAME                            VARCHAR2(10)
 JOB                              VARCHAR2(9)
 MGR                              NUMBER(4)
 HIREDATE                         DATE
 SAL                              NUMBER(7,2)
 COMM                             NUMBER(7,2)
 DEPTNO                           NUMBER(2)

CREATE OR REPLACE FUNCTION GET_SAL (P_EMPNO   NUMBER)
RETURN NUMBER
AS
   V_SAL    NUMBER(10);
BEGIN
  SELECT SAL INTO V_SAL
  FROM EMP  WHERE EMPNO=P_EMPNO;
  -- Nilai yang dikeluarkan
  RETURN V_SAL;
END;


Sumber:



Tidak ada komentar:

Posting Komentar