Minggu, 29 September 2013

PBD (Pemrograman Basis Data) pertemuan 4 - Procedure dan Funcion

Pada mata kuliah PBD (Pemrograman Basis Data) pertemuan ke-4 minggu lalu, telah menjelaskan tentang Procedure dan Fuction.

Procedure
adalah
sebuah block yang dapat berdiri sendiri serta dikompilasi untuk selanjutnya masuk ke dalam skema database.

Bentuk umum dari prosedur pada SQL

Bentuk umum:
CREATE OR REPLACE PROCEDURE
nama_prosedure;
(parameter1 tipe_data,...) AS
...
BEGIN
statement;
...
END;

Contoh Program Prosedure pada
SQL:

1:  create or replace procedure tambah_dua(a integer) as 
2:  hasil number (5); 
3:  begin 
4:  hasil:=a+2; 
5:  dbms_output.put_line('Hasilnya :'||hasil); 
6:  end; 
7:  /

Function adalah suatu blok SQL yang memiliki konsep sama dengan procedure, hanya saja pada function terdapat pengembalian nilai (return value).Karena function dapat mengembalikan sebuah nilai, function dapat diakses seperti layaknya sebuah variabel biasa.

Bentuk Umum :

CREATE OR REPLACE FUNCTION nama_function (parameter_1, …)
RETURN tipe_data AS
variabel_1 tipe_data;

BEGIN
statemen_1;

RETURN nilai_yang_dikembalikan;
END;


Statemen RETURN tipe_data diatas menunjukkan bahwa function akan mengembalikan nilai dengan tipe data tertentu
Statemen RETURN nilai_yang_dikembalikan berfungsi untuk mengembalikan nilai yang telah diproses dalam function

Contoh Function Tanpa Parameter :
(1)
CREATE OR REPLACE FUNCTION tulis_teks RETURN VARCHAR2 AS
S VARCHAR2(20)
BEGIN
S := ‘HALLO SEMUA’;
RETURN S;
END;
/

(2)
SET SERVEROUTPUT ON
DECLARE
X VARCHAR2(20);
BEGIN
X := tulis_teks;
DBMS_OUTPUT.PUT_LINE(X);
END;
/


Contoh Function Dengan Parameter :
(1)
CREATE OR REPLACE FUNCTION
pangkat (bil INTEGER, n INTEGER)
RETURN INTEGER AS
HASIL INTEGER(10);
I INTEGER;
BEGIN
HASIL := 1;
FOR I IN 1..n LOOP
HASIL := HASIL * bil;
END LOOP;
RETURN HASIL;
END;
/


Type Data Referance

Type Data Reference merupakan salah satu dari macam-macam tipe data pada pl/sql yang digunakan untuk mereferensikan tipe data pada variabel lain.

Attribut %TYPE

%TYPE adalah attribut yang digunakan untuk mendeklarasikan sebuah variable yang sesuai dengan:
  • Definisi sebuah kolom database
  • Deklarasi variable lain
Selain itu, %TYPE diawali dengan
  • Tabel dan Kolom Database
  • Nama dari Variabel yang dideklarasikan

Deklarasi Variabel dengan %TYPE

Syntax:
identifier table.column_name%TYPE;
Contoh :
emp_name employees.last_name%TYPE;
balance 
NUMBER(7,2);
min_balance balance
%TYPE := 1000;
Penjelasan :
Pada contoh diatas, kita membuat 3 buah variabel yaitu Variabel emp_name, balance, dan min_balance dimana Variabel emp_name memiliki tipe yang sama dengan tipe kolom last_name pada tabel employees, lalu Variabel balance bertipe Number, Dan Variabel min_balance yang bertipe sama dengan Variabel balance yang memiliki tipe NUMBER

Attribut %ROWTYPE

%ROWTYPE digunakan untuk mendeklarasikan sebuah variabel yang sesuai dengan tipe data sejumlah kolom pada tabel atau view di database. Beda halnya dengan %TYPE yang hanya bisa mereferensikan satu tipe kolom atau satu variabel saja.
Keuntungan menggunakan %ROWTYPE :
  • Kita tidak perlu mengetahui berapa jumlah dan tipe data kolom pada tabel atau view yang ingin kita referensikan
  • Adanya kemungkinan terjadinya perubahan jumlah dan tipe data kolom pada tabel atau view pada saat run time
  • Cocok digunakan saat menerima data menggunakan SELECT * statement
Syntax :
DECLARE identifier reference%ROWTYPE;
Contoh :
SET SERVEROUTPUT ON
DECLARE
Col_Emp employees
%ROWTYPE;
BEGIN
SELECT * INTO Col_Emp
FROM Employees
WHERE Employee_id = 120;
DBMS_OUTPUT.PUT_LINE(Col_Emp.last_name);
DBMS_OUTPUT.PUT_LINE(Col_Emp.first_name);
DBMS_OUTPUT.PUT_LINE(Col_Emp.salary);
END;
Pada Contoh diatas kita membuat sebuah variabel Col_Emp yang mempunyai semua tipe data pada kolom tabel employees.

Rabu, 25 September 2013

Pengumuman

pada postingan selanjut-selanjutnya, sebagian besar akan di copy kan dari blog sebelah http://risnotes.com/
karena blog itu sangat lengkap penjelasannya tentang PL/SQL

Sabtu, 21 September 2013

CURSOR (Penjelasan Lengkap)

Postingan ini menyempurnakan postingan sebelumnya yang juga membahas tentang Cursor, tapi karena informasi yang belum terlalu lengkap, maka postingan ini menyempurnakan yang sebelumnya.

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 sendiri terdiri dari 2 tipe :
  1. Implicit Cursor
    Merupakan Cursor yang dideeklarasikan dan dikelola secara otomatis oleh PL/SQL untuk semua operasi DML SQL dan PL/SQL SELECT Statement
  2. Eksplicit Cursor
    Merupakan Cursor yang dikelola dan dideklarasikan oleh Programmer
Nb : Sebelum memulai mempelajari CURSOR ada baiknya mempelajari metode Looping terlebih dahulu.



Senin, 16 September 2013

Resume PBD Pertemuan 3

Pada pertemuan ke-3 Pemrograman Basis Data (16/09/2013) tadi, ada 2 kelompok mempresentasikan tentang Cursor.
Cursor yang dimaksud bukanlah pointer, melainkan nama area SQL dimana informasi untuk pemrosesan pernyataan SQL yang sifatnya spesifik.
dan Cursor sendiri, dibagi menjadi 2, yaitu Implicit cursor, dan Explicit Cursor.

Minggu, 15 September 2013

Kamus Oracle

Update
perintah untuk memperbaharui  data  dengan  data yang  lebih  baru.
UPDATE NAMA_TABEL SET KOLOM1=DATA1, KOLOM2=DATA2, …, KOLOMn=DATAn WHERE KRITERIA;
Delete
perintah untuk menghapus  data  tertentu yang kita inginkan.
DELETE FROM NAMA_TABLE WHERE KRITERIA;