0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan31 halaman

Pengenalan dan Struktur PL/SQL

PL/SQL adalah bahasa pemrograman yang memperluas SQL dengan fitur-fitur pemrograman. PL/SQL terdiri dari deklarasi, eksekusi, dan penanganan pengecualian. Variabel PL/SQL dapat berupa skalar, komposit, referensi, atau LOB yang diinisialisasi untuk menyimpan dan memanipulasi data.

Diunggah oleh

Alriefqy Desmito
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan31 halaman

Pengenalan dan Struktur PL/SQL

PL/SQL adalah bahasa pemrograman yang memperluas SQL dengan fitur-fitur pemrograman. PL/SQL terdiri dari deklarasi, eksekusi, dan penanganan pengecualian. Variabel PL/SQL dapat berupa skalar, komposit, referensi, atau LOB yang diinisialisasi untuk menyimpan dan memanipulasi data.

Diunggah oleh

Alriefqy Desmito
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Pengenalan PL/SQL

Pertemuan 3
Apakah PL/SQL
• PL/SQL adalah perluasan SQL dengan fitur
bahasa pemrograman .
• SQL Data manipulation and query statements
disertakan dalam unit kode prosedural.
Keuntungan PL/SQL
• Integrasi

Application

Shared Oracle Server


library
Keuntungan PL/SQL
• Meningkatkan Unjuk Kerja

SQL
SQL
Application Other DBMSs
SQL
SQL

SQL
IF...THEN
SQL Oracle with
Application ELSE PL/SQL
SQL
END IF;
SQL
Struktur Blok PL/SQL
• DECLARE – Optional
Variables, cursors, user-defined exceptions
• BEGIN – Harus ada
– Statemen SQL
– Statemen PL/SQL
• EXCEPTION – Opsional
Aksi yang ditampilkan ketika terjadi error
• END; – Harus ada DECLARE

BEGIN

EXCEPTION

END;
Struktur Blok PL/SQL
DECLARE
v_variable VARCHAR2(5);
BEGIN
SELECT column_name
INTO v_variable
FROM table_name;
EXCEPTION
WHEN exception_name THEN DECLARE
...
END; BEGIN

EXCEPTION

END;
Tipe Block
• Anonymous Prosedur Fungsi
[DECLARE] PROCEDURE name FUNCTION name
IS RETURN datatype
IS
BEGIN BEGIN BEGIN
--
--statements
statements --
--statements
statements --
--statements
statements
RETURN value;
[EXCEPTION] [EXCEPTION] [EXCEPTION]

END; END; END;


Program Constructs
Stored
Anonymous
procedure/
block
DECLARE function

BEGIN Application
Application
procedure/
trigger
function
EXCEPTION

Database
END; Packaged
procedure/
trigger
function
Kegunaan Variables

• Variables digunakan untuk:


– Menyimpan data sementara
– Memanipulasi nilai yang disimpan
– Dapat digunakan kemballi
– Mudah dalam pemeliharaan
Penanganan Variable dalam PL/SQL

– Deklarasi dan inisialisasi variabel pada


declaration section.
– Pemberian nilai baru untuk variable pada
executable section.
– Melewatkan nilai kedalam blok PL/SQL
melalui parameter.
– Menampilkan hasil melalui variable output
TipeVariables

– Variabel PL/SQL s:
• Scalar
• Composite
• Reference
• LOB (large objects)
– Variabel Non-PL/SQL : Bind and host
variables
Tipe Variable
25-OCT-99
TRUE
“Four score and seven years ago
our fathers brought forth upon
this continent, a new nation,
conceived in LIBERTY, and dedicated
to the proposition that all men
are created equal.”

256120.08
Atlanta
Deklarasi Variabel PL/SQL
Syntax

identifier [CONSTANT] datatype [NOT NULL]


[:= | DEFAULT expr];

Contoh
Declare
v_hiredate DATE;
v_deptno NUMBER(2) NOT NULL := 10;
v_location VARCHAR2(13) := 'Atlanta';
c_comm CONSTANT NUMBER := 1400;
Deklarasi Variabel PL/SQL

• Guideline
– Mengikuti aturan penamaan.
– Inisialisasi variable dengan NOT NULL dan
CONSTANT.
– Inisialisasi identifier menggunakan assignment
operator (:=) atau reserved word DEFAULT.
– Deklarasi paling banyak satu identifier per baris.
Aturan Penamaan
– Dua variabel dapat memiliki nama yang
sama, disediakan pada blok yang berbeda.
– Nama variabel (identifier) tidak seharusnya
sama dengan nama kolom yang digunakan
pada blok PL/SQL.

DECLARE
empno NUMBER(4);
BEGIN
SELECT empno
INTO empno
FROM emp
WHERE ename = 'SMITH';
END;
Pemberian nilai Variable
Syntax

• identifier := expr;

Contoh
Pemberian nilai predefined hiredate funtuk karyawan baru.

v_hiredate := '31-DEC-98';

Set the employee name to Maduro.

v_ename := 'Maduro';
Inisialisasi dan Keyword Variable
• Menggunakan:
– Assignment operator (:=)
– DEFAULT keyword
– NOT NULL constraint
Tipe data Scalar
• Hold a single value
• Have no internal components

25-OCT-99
“Four score and seven years
ago our fathers brought
TRUE
forth upon this continent, a
new nation, conceived in
LIBERTY, and dedicated to
the proposition that all men
are created equal.”

256120.08
Atlanta
Tipe data Scalar Dasar
– VARCHAR2 (maximum_length)
– NUMBER [(precision, scale)]
– DATE
– CHAR [(maximum_length)]
– LONG
– LONG RAW
– BOOLEAN
– BINARY_INTEGER
– PLS_INTEGER
Base Scalar Datatypes
– VARCHAR2 (maximum_length)
– NUMBER [(precision, scale)]
– DATE
– CHAR [(maximum_length)]
– LONG
– LONG RAW
– BOOLEAN
– BINARY_INTEGER
– PLS_INTEGER
Deklarasi Variabel Scalar
• Examples
v_job VARCHAR2(9);
v_count BINARY_INTEGER := 0;
v_total_sal NUMBER(9,2) := 0;
v_orderdate DATE := SYSDATE + 7;
c_tax_rate CONSTANT NUMBER(3,2) := 8.25;
v_valid BOOLEAN NOT NULL := TRUE;
Attribute %TYPE
– Deklarasi sebuah variabel sesuai dengan:
• Definisi kolom sebuah database
• Variabel yang telah dideklarasikan sebelumnya
– Awali %TYPE dengan:
• The database table and column
• The previously declared variable name
Declaring Variables
dengan Attribute %TYPE

• Contoh
...
v_ename [Link]%TYPE;
v_balance NUMBER(7,2);
v_min_balance v_balance%TYPE := 10;
...
Deklarasi Boolean Variable
– Hanya nilai TRUE, FALSE, and NULL yang
dapat diberikan untuk variable Boolean.
– Variable dihubungkan dengan logical
operators AND, OR, dan NOT.
– Variable selalu menghasilkan nilai TRUE,
FALSE, atau NULL.
– Ekspresi Arithmetic, character, and date
dapat digunakan untuk menghasilkan nilai
Boolean.
Structur PL/SQL Record

TRUE 23-DEC-98 ATLANTA

PL/SQL table structure PL/SQL table structure

1 SMITH 1 5000
2 JONES 2 2345
3 NANCY 3 12
4 TIM 4 3456

VARCHAR2 NUMBER
BINARY_INTEGER BINARY_INTEGER
Tipe Variable LOB
Book
(CLOB)

Photo
(BLOB)

Movie
(BFILE)

NCLOB
Bind Variables

O/S
Bind variable
Server
Mereferensikan Variabel Non-PL/SQL

• Menyimpan gaji tahunan kedalam


SQL*Plus host variable.
:g_monthly_sal := v_sal / 12;

– Mereferensikan variabel non-PL/SQL sebagai


host variables.
– Awali referensi dengan tanda colon (:).
DBMS_OUTPUT.PUT_LINE

– Prosedur Oracle-supplied packaged


– Sebagai alternatif menampilkan data dari
blok PL/SQL
– Harus di aktifkan dalam SQL*Plus dengan
perintah SET SERVEROUTPUT ON
Kesimpulan

– PL/SQL blocks are composed of the


following sections:
DECLARE
• Declarative (optional)
BEGIN
• Executable (required)
EXCEPTION
• Exception handling (optional)
END;
– A PL/SQL block can be an
anonymous block, procedure, or
function.
Summary

– PL/SQL identifiers:
• Are defined in the declarative section
• Can be of scalar, composite, reference, or LOB
datatype
• Can be based on the structure of another
variable or database object
• Can be initialized

Anda mungkin juga menyukai