Friday

Perintah SQL pada PL/SQL (Pertemuan 13)


PL / SQL mendukung variabel , kondisi , loop dan pengecualian . Array juga didukung, meskipun dengan cara yang agak tidak biasa, yang melibatkan penggunaan PL / SQL koleksi. PL / SQL koleksi adalah topik yang sedikit maju.

Implementasi dari versi 8 dan seterusnya Oracle Database telah memasukkan fitur yang berhubungan dengan objek-orientasi .


Setelah unit program telah disimpan ke dalam database, mereka menjadi tersedia untuk eksekusi di lain waktu.

Sementara programmer dapat dengan mudah menanamkan data Manipulation Language (DML) pernyataan langsung ke PL / SQL kode mereka menggunakan pernyataan SQL langsung, Data Definition Language (DDL) membutuhkan lebih kompleks "Dynamic SQL" pernyataan yang akan ditulis dalam kode PL / SQL. Namun, pernyataan DML mendukung mayoritas PL / SQL code dalam aplikasi perangkat lunak khas.

Dalam kasus PL / SQL SQL dinamis, versi awal dari Database Oracle diperlukan penggunaan rumit Oracle DBMS_SQL paket perpustakaan. Versi yang lebih baru memiliki namun memperkenalkan sederhana "Dynamic SQL asli", bersama dengan terkait EXECUTE IMMEDIATE sintaks.

Oracle Corporation lazim menambah fungsionalitas setiap rilis paket dengan berturut-turut dari Database Oracle




Sebuah Blok PL / SQL Sederhana:
Setiap program PL / SQL terdiri dari pernyataan SQL dan PL / SQL yang dari blok PL / SQL.

Sebuah Blok PL / SQL terdiri dari tiga bagian:
Bagian Deklarasi (opsional).
Bagian Eksekusi (wajib).
Eksepsi (atau Kesalahan) Penanganan bagian (opsional).
Deklarasi Bagian:
Bagian Deklarasi Blok PL / SQL dimulai dengan kata kunci MENYATAKAN pendiam. Bagian ini bersifat opsional dan digunakan untuk menyatakan setiap placeholder seperti variabel, konstanta, catatan dan kursor, yang digunakan untuk memanipulasi data di bagian eksekusi. Penampung mungkin salah satu dari Variabel, Konstanta dan Records, yang menyimpan data sementara. Cursors juga dinyatakan dalam bagian ini.

Eksekusi Bagian:
Bagian Pelaksanaan Blok PL / SQL dimulai dengan kata kunci cadangan BEGIN dan diakhiri dengan END. Ini adalah bagian wajib dan merupakan bagian mana logika program ditulis untuk melakukan tugas apapun. Konstruksi program seperti loop, pernyataan kondisional dan pernyataan SQL membentuk bagian dari bagian eksekusi.

Pengecualian Bagian:
Bagian Pengecualian dari Blok PL / SQL dimulai dengan PENGECUALIAN kunci cadangan. Bagian ini adalah opsional. Setiap kesalahan dalam program dapat ditangani dalam bagian ini, sehingga PL / SQL Blok berakhir dengan anggun. Jika Blok PL / SQL berisi pengecualian yang tidak dapat ditangani, Blok berakhir tiba-tiba dengan kesalahan.

Setiap pernyataan dalam tiga bagian atas harus diakhiri dengan titik koma;. PL / SQL blok dapat bersarang di dalam lainnya PL / SQL blok. Komentar dapat digunakan untuk mendokumentasikan kode.
Contohnya :
DECLARE
  deklarasi variable
BEGIN
  eksekusi program
EXCEPTION
  exception handling
END;

Fungsi

Fungsi di PL / SQL kelompok bersama SQL dan PL / SQL pernyataan yang melakukan tugas dan harus mengembalikan nilai atau nilai-nilai ke lingkungan menelepon. User-didefinisikan fungsi yang digunakan untuk melengkapi ratusan fungsi built-in oleh Oracle Corporation.
Ada dua jenis fungsi dalam PL / SQL. Fungsi tradisional memiliki bentuk:

 CREATE OR REPLACE FUNCTION <function_name> [(input / output deklarasi variabel)]
 [AUTHID <PENGGUNA LANCAR | DEFINER>] <IS | AS>
         [Blok deklarasi]
 BEGIN
         <PL / SQL blok pernyataan DENGAN RETURN>
         RETURN <return_value>;
 [PENGECUALIAN
         Blok PENGECUALIAN]
         RETURN <return_value>;
 END;

Fungsi meja pipelined kembali koleksi [2] dan mengambil bentuk ::
 CREATE OR REPLACE FUNCTION <function_name> [(input / output deklarasi variabel)] RETURN return_type
 [AUTHID <PENGGUNA LANCAR | DEFINER>] [<AGREGAT | pipelined>] <IS | MENGGUNAKAN>
         [Blok deklarasi]
 BEGIN
         <PL / SQL blok pernyataan DENGAN RETURN>
         ROW PIPA <jenis RETURN>;
         RETURN;
 [PENGECUALIAN
         Blok PENGECUALIAN]
         ROW PIPA <jenis RETURN>;
         RETURN;
 END;

Ada tiga jenis parameter: IN, OUT dan IN OUT.
Sebuah DI parameter digunakan sebagai masukan saja. Parameter IN dikirimkan dengan referensi tetapi tidak dapat diubah oleh program yang disebut.
Parameter OUT awalnya NULL. Program ini memberikan parameter nilai dan nilai yang dikembalikan ke program menelepon.
Sebuah DI Parameter OUT mungkin atau mungkin tidak memiliki nilai awal. Bahwa nilai awal mungkin atau tidak dapat dimodifikasi oleh program yang disebut. Setiap perubahan yang dibuat untuk parameter dikembalikan ke program memanggil secara default dengan menyalin tetapi - dengan petunjuk NOCOPY - dapat diteruskan dengan referensi .

No comments: