PL / SQL Sintaks Blok dan Pedoman
• Literal
- Karakter dan tanggal literal harus diapit
tanda kutip tunggal.
• 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.
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:
• 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
• 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
- 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
Data Jenis Konversi
DECLARE
v_date DATE := TO_DATE('12-JAN-2001', 'DD-MON-YYYY');
BEGIN
. . .
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.
• 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;
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;
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