PERTEMUAN 3 Writing Executable Statements

PL / SQL Sintaks Blok dan Pedoman
Literal
- Karakter dan tanggal literal harus diapit
tanda kutip tunggal.
 v_name := 'Henderson';
- Bilangan dapat nilai-nilai sederhana atau ilmiah
notasi.
A slash (/) menjalankan PL / SQL blok dalam sebuah file script
atau dalam beberapa tools seperti PLUS * iSQL.

Kode Comenting
Prefix single-line komentar dengan dua strip (--).
Tempatkan komentar banyak baris antara simbol-simbol
/ * dan * /.
Contoh:
DECLARE
...
v_sal NUMBER (9,2);
BEGIN
/* Compute the annual salary based on the
monthly salary input from the user */
v_sal := :g_monthly_sal * 12;
END; -- This is the end of the block 

Fungsi SQL dalam PL / SQL
Tersedia dalam laporan prosedural:
- Single-nomor baris
- Single-baris karakter
- Jenis data konversi
- Tanggal
- Timestamp
- Terbesar dan TERKECIL
- fungsi Miscellaneous

Tidak tersedia dalam laporan prosedural :
- deCODE
- Kelompok fungsi

Contoh :
Membangun milis untuk perusahaan
v_mailing_address := v_name||CHR(10)||
v_address||CHR(10)||v_state||
CHR(10)||v_zip; 
 Mengkonversi nama karyawan untuk huruf kecil :
v_ename := LOWER(v_ename);

Data Jenis Konversi
Konversi data ke tipe data yang sebanding.
Campuran jenis data dapat mengakibatkan kesalahan dan mempengaruhi
kinerja.
Konversi fungsi:
- TO_CHAR
- TO_DATE
- TO_NUMBER


DECLARE
v_date DATE := TO_DATE('12-JAN-2001', 'DD-MON-YYYY');
BEGIN
. . .
Data Jenis Konversi
Pernyataan ini menghasilkan kesalahan kompilasi jika
v_date variabel dideklarasikan sebagai tipe data DATE.

v_date := 'January 13, 2001';

kesalahan, gunakan konversi TO_DATE
fungsi.Untuk memperbaiki

v_date := TO_DATE ('January 13, 2001','Month DD, YYYY');
 Kualifikasi suatu Identifier
kualifikasi bisa label dari dilampiri
blok.
Kualifikasi sebuah identifier dengan menggunakan awalan label blok.
Kualifikasi bisa label dari dilampiri
blok.
Kualifikasi sebuah identifier dengan menggunakan awalan label blok.

<<outer>>
DECLARE
birthdate DATE;
BEGIN
DECLARE
birthdate DATE;
BEGIN
...
outer.birthdate :=
TO_DATE('03-AUG-1976',
'DD-MON-YYYY');
END;
....
END;


<<outer>>
DECLARE
v_sal NUMBER(7,2) := 60000;
v_comm NUMBER(7,2) := v_sal * 0.20;
v_message VARCHAR2(255) := ' eligible for commission';
BEGIN
DECLARE
v_sal NUMBER(7,2) := 50000;
v_comm NUMBER(7,2) := 0;
v_total_comp NUMBER(7,2) := v_sal + v_comm;
BEGIN
v_message := 'CLERK not'||v_message;
outer.v_comm := v_sal * 0.30;
END;
v_message := 'SALESMAN'||v_message;
END; 

0 komentar:

Posting Komentar