NIM : 09.39010.0064
Nama : Anita Rachmadyah
Nama
Dosen : Titik Lusiani, M.Kom., OCP
Blog
Dosen : http://blog.stikom.edu/lusiani/
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 :
- Deklarasi (Declare)
- Buka (Open)
- Ambil Data (Fetch)
- Tutup (Close).
Ada
pula yang menyebutkan lima tahap, yakni :
- Deklarasi (Declare)
- Buka (Open)
- Baca Berulang (Loop / Fetch)
- Tutup (Close)
- Dealokasi Memori (Deallocate)
Cursor
sendiri dibedakan menjadi :
- Cursor Eksplisit, merupakan Cursor yang harus dibuka dan ditutup secara manual.
- 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 :
- Modularity
- Memudahkan dalam hal Maintenance
- Memudahkan dalam hal design aplikasi
- Dapat Menyembunyikan Informasi, karena yang hanya ditampilkan dalam sebuah aplikasi hanya parent atau spesifikasinya saja, sedangkan body nya disembunyikan dan tidak dapat diakses.
- Added functionality
- Meningkatkan Performance
- Dapat menggunakan Overloading
Package
terdiri dari 2 bagian :
- Bagian Spesifikasi atau Parent
- 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