Tutorial PL / SQL: Semua yang Perlu Anda Ketahui Mengenai PL / SQL

Tutorial PL / SQL merangkumi semua penjelasan terperinci mengenai semua konsep yang diperlukan untuk menguasai pengaturcaraan PL / SQL dengan pelbagai contoh

PL / SQL adalah bahasa prosedural yang mengatasi kekurangan yang dihadapi Bahasa Pertanyaan Berstruktur . Ini adalah lanjutan dari SQL dan kita bahkan dapat menggunakan pertanyaan SQL tanpa kerumitan dalam aplikasi atau program PL / SQL apa pun. Dalam tutorial PL / SQL ini, kita akan membahas konsep asas PL / SQL secara terperinci. Topik berikut dibahas dalam artikel ini.

Apa itu PL / SQL?

Ia bermaksud peluasan bahasa prosedur ke bahasa Bahasa Pertanyaan Berstruktur . Oracle mencipta PL / SQL yang memperluas beberapa batasan SQL untuk menyediakan penyelesaian yang lebih komprehensif untuk membina aplikasi kritikal misi yang berjalan di oracle .





tutorial logo-pl / sql - edureka

ciri-ciri

  • PL / SQL menyediakan fungsi bahasa prosedur seperti membuat keputusan, lelaran, dll.

  • Dengan menggunakan satu perintah, PL / SQL dapat menjalankan sejumlah pertanyaan.



  • Kami juga dapat menggunakan kembali unit PL / SQL seperti fungsi, pemicu, prosedur, dan lain-lain yang disimpan di dalam pangkalan data setelah penciptaan.

  • PL / SQL juga mempunyai blok pengendalian pengecualian yang menangani pengecualian dalam PL / SQL.

  • Pemeriksaan ralat yang luas juga boleh dilakukan dengan menggunakan PL / SQL



  • Aplikasi yang ditulis dalam PL / SQL boleh dibawa ke perkakasan dan sistem operasi lain dengan syarat oracle mesti beroperasi.

PL / SQL vs SQL

SQL PL / SQL
SQL adalah satu pertanyaan yang digunakan untuk menjalankan operasi DDL dan DMLPL / SQL adalah sekumpulan kod yang digunakan untuk menentukan keseluruhan program atau prosedur / fungsi, dll
Ia tidak benar-benar menentukan bagaimana sesuatu perlu dilakukan, sebaliknya menentukan apa yang perlu dilakukanPL / SQL menentukan bagaimana perkara perlu dilakukan
Ia melaksanakan satu penyataanIa melaksanakan sekumpulan pernyataan sekaligus.
SQL digunakan terutamanya untuk memanipulasi dataPL / SQL, sebaliknya, digunakan untuk membuat aplikasi
Tidak boleh mengandungi kod PL / SQLOleh kerana ia adalah sambungan SQL, ia boleh mengandungi kod SQL di dalamnya

Blok Struktur Dalam PL / SQL

PL / SQL biasanya menyusun kod menjadi blok. Blok kod tanpa nama dikenali sebagai blok tanpa nama. Ia dikenali sebagai blok tanpa nama kerana tidak disimpan dalam pangkalan data oracle. Mari kita lihat blok tanpa nama di PL / SQL.

[TOLAK] pernyataan pengisytiharan [BEGIN] penyataan pelaksanaan [PENGECUALIAN] pernyataan pengecualian TAMAT /

Melihat rajah yang ditunjukkan di atas, kita dapat melihat bahawa struktur blok terbahagi kepada empat bahagian, iaitu deklarasi, permulaan, pengecualian dan akhir. Mari kita cuba memahami bagaimana struktur blok berfungsi di PL / SQL. Dari semua bahagian ini, bahagian pelaksanaan adalah wajib dan selebihnya semuanya adalah pilihan.

  • TAHNIAH kata kunci digunakan untuk bahagian deklarasi digunakan untuk menyatakan jenis data dan struktur seperti pemboleh ubah, fungsi, dll.

  • BERMULA kata kunci digunakan untuk bahagian pelaksanaan. Ia wajib dan mengandungi semua pernyataan yang perlu dilaksanakan. Blok ini adalah di mana logik perniagaan ditentukan, kita boleh menggunakan pernyataan prosedur atau SQL di blok ini.

  • The PENGECUALIAN kata kunci digunakan untuk bahagian pengecualian. Ia mengandungi semua pernyataan pengecualian.

  • TAMAT kata kunci menandakan akhir blok dan garis miring ke belakang ‘/’ memberitahu alat yang anda gunakan (Oracle Database Tool) untuk melaksanakan blok PL / SQL.

Berikut adalah contoh mudah untuk menunjukkan bagaimana kita boleh menggunakan kod PL / SQL.

MULAI AKHIR NULL /

Setelah kita mengetahui bagaimana struktur blok berfungsi dalam PL / SQL, mari kita memahami pelbagai aspek PL / SQL seperti menyatakan, menamakan dan memberikan nilai kepada pemboleh ubah.

Pemboleh ubah PL / SQL

Pemboleh ubah dalam PL / SQL pada dasarnya adalah nama yang berbeza atau lokasi penyimpanan sementara yang menyokong jenis data tertentu. Mari kita lihat bagaimana kita boleh menggunakan pemboleh ubah dalam program PL / SQL.

Peraturan Penamaan Pembolehubah

PL / SQL mengikuti peraturan berikut untuk menamakan pemboleh ubah.

  • Pemboleh ubah tidak boleh melebihi 31 aksara

  • Nama pemboleh ubah harus bermula dengan watak ASCII. Oleh kerana PL / SQL peka huruf besar kecil, huruf besar dan huruf kecil akan berubah-ubah.

  • Selepas watak pertama, mesti ada watak khas ($, _) atau nombor apa pun.

Konvensyen Penamaan

Gunakan konvensyen penamaan berikut yang disenaraikan di bawah untuk menggunakan pemboleh ubah.

Awalan Jenis data
v_VARCHAR2
n_NOMBOR
t_JADUAL
r_ROW
d_TARIKH
b_BOOLEAN

Pengisytiharan

Mari cuba memahami bagaimana pengisytiharan pemboleh ubah dilakukan dalam PL / SQL

Deklarasi merangkumi nama pemboleh ubah diikuti oleh jenis data dan dipisahkan dengan titik koma. Berikut adalah contoh untuk menunjukkan bagaimana anda dapat menyatakan pemboleh ubah dalam PL / SQL.

NILAI v_nama VARCHAR (25) n_age NOMBOR (3) MULAI AKHIR NULL

Anda juga boleh menambahkan panjang jenis data seperti yang telah kita lakukan dalam contoh di atas.

Penanda

Penanda pada dasarnya merujuk kepada penggunaan kata kunci% JENIS yang untuk menyatakan pemboleh ubah dengan jenis data yang berkaitan dengan jenis data lajur lajur tertentu dalam jadual.

Lihat contoh untuk memahami perkara ini. Andaikan kita mempunyai meja PEKERJA, kita boleh menggunakan sauh dengan cara berikut.

TAHNIAH v_nama EMPLOYEE.NAME% JENIS n_age EMPLOYEE.AGE% JENIS MULAI NULL TAMAT /

Tugasan

Tugasan pemboleh ubah agak mudah, kita boleh menggunakan operator penugasan untuk memberikan nilai kepada pemboleh ubah. Contoh berikut menunjukkan bagaimana kita dapat menetapkan nilai kepada pemboleh ubah.

TAHNIAH v_nama VARCHAR (20) n_course VARCHAR (10) BEGIN v_name = 'edureka' v_course = 'sql' TAMAT /

Permulaan

Kita boleh menginisialisasi nilai untuk pemboleh ubah di bahagian deklarasi juga. Contoh berikut menunjukkan bagaimana kita dapat memulakan nilai ke pemboleh ubah.

TAHNIAH v_nama VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' MULAI AKHIR NULL /

Sekarang kita tahu bagaimana kita dapat bekerja dengan pemboleh ubah, mari kita cuba memahami bagaimana kita akan menggunakan fungsi dalam PL / SQL.

Fungsi Dalam PL / SQL

Fungsi dalam PL / SQL pada dasarnya adalah blok bernama yang mengembalikan nilai. Ini juga dikenal sebagai subrutin atau subprogram, sintaks berikut menunjukkan bagaimana kita dapat menggunakan fungsi dalam PL / SQL.

BUAT [ATAU GANTI] FUNGSI fungsi_nama [(parameter_1 [IN] [OUT] data_type, parameter_2 [IN] [OUT] data_type, parameter_N [IN] [OUT] data_type] RETURN return_data_type IS BEGIN statement return return_data_type KECUALI TAMAT /

Pertama sekali, anda mesti menentukan nama fungsi selepas kata kunci. Nama fungsi mesti dimulakan dengan kata kerja. Fungsi mungkin tidak mempunyai satu, satu atau lebih parameter yang kita tentukan dalam parameter. Kita harus menentukan jenis data setiap parameter secara eksplisit, dan kemudian datang mod yang boleh salah satu dari yang berikut.

untuk apa nagios digunakan
  • DALAM - Parameter IN adalah parameter baca sahaja.

  • KELUAR - Ini adalah parameter hanya tulis

  • DALAM KELUAR - Parameter IN OUT adalah kedua-dua parameter baca-tulis.

Berikut adalah contoh mudah untuk menunjukkan bagaimana kita menggunakan fungsi dalam PL / SQL.

BUAT ATAU GANTI FUNGSI cuba_parse (iv_number DALAM VARCHAR2) NOMBOR KEMBALI ADALAH MULAI KEMBALI ke_number (iv_number) KECUALI KETIKA orang lain KEMUDIAN KEMBALI AKHIR NULL

Memanggil Fungsi

Mari kita cuba memanggil fungsi yang telah kita buat dalam blok tanpa nama dalam contoh berikut.

SET SERVEROUTPUT PADA UKURAN 1000000 TOLAK N_x nombor n_y number n_z number BEGIN n_x: = try_parse ('256') n_y: = try_parse ('29 .72 ') n_z: = try_parse (' pqrs ') DBMS_OUTPUT.PUT_LINE_ n_ n_y) DBMS_OUTPUT.PUT_LINE (n_z) TAMAT /

Kita boleh memanggil fungsi dalam pernyataan SELECT juga. Setelah mengetahui bagaimana kita dapat menggunakan fungsi dalam PL / SQL, mari kita cuba memahami bagaimana kita bekerja dengan prosedur di PL / SQL.

Prosedur PL / SQL

Prosedur pada dasarnya adalah blok yang melakukan tugas tertentu. Dengan menggunakan prosedur, kita dapat membungkus atau merangkum logik perniagaan yang rumit dan menggunakannya kembali dalam lapisan aplikasi dan pangkalan data.

Mari kita lihat contoh mudah untuk memahami bagaimana prosedur berfungsi di PL / SQL

BUAT ATAU GANTI PROSEDUR sesuaikan_salary (in_employee_id IN EMPLOYEES.EMPLOYEE_ID% JENIS, in_percent IN NUMBER) ADA BEGIN - kemas kini gaji pekerja UPDATE pegawai SET gaji = gaji + gaji * in_percent / 100 MANA pekerja_id = in_employee_id TAMAT

Dalam contoh di atas, kita mempunyai dua parameter, prosedur menyesuaikan gaji dengan peratusan tertentu dan kata kunci UPDATE mengemas kini nilai dalam maklumat gaji.

Tajuk Prosedur

Bahagian sebelum kata kunci IS disebut tajuk prosedur. Berikut adalah beberapa petunjuk yang mesti anda ketahui semasa menjalankan prosedur.

  • skema - Ini adalah nama pilihan skema yang menjadi pilihan prosedur.

  • nama - Nama prosedur yang harus dimulakan dengan kata kerja.

  • parameter - Ini adalah senarai parameter pilihan.

  • PENULIS - Ini menentukan sama ada prosedur akan dilaksanakan dengan hak istimewa pengguna semasa atau pemilik asal prosedur.

Badan Prosedur

Segala sesuatu yang muncul selepas kata kunci IS disebut badan prosedur. Kami mempunyai pernyataan deklarasi, pengecualian dan pelaksanaan di badan prosedur. Tidak seperti fungsi, kata kunci RETURN dalam prosedur digunakan untuk menghentikan pelaksanaan dan mengembalikan kawalan kepada pemanggil.

Memanggil Prosedur

Mari kita lihat bagaimana kita boleh memanggil prosedur dalam PL / SQL.

pasang php pada windows 10
EXEC prosedur_nama (param1, param2 & hellipparamN)

Kita boleh memanggil prosedur tanpa parameter dengan hanya menggunakan kata kunci dan nama prosedur EXEC. Sekarang setelah kita tahu bagaimana kita dapat bekerja dengan prosedur, mari kita cuba memahami bagaimana blok bersarang digunakan dalam PL / SQL.

Blok Bersarang

Blok bersarang tidak lain adalah gabungan satu atau lebih blok PL / SQL untuk mendapatkan kawalan yang lebih baik terhadap pelaksanaan dan pengendalian yang luar biasa untuk program ini.

Berikut adalah contoh ringkas blok bersarang.

SET SERVEROUTPUT PADA UKURAN 1000000 TAKTIKKAN n_emp_id PEKERJA.EMPLOYEE_ID% JENIS: = & emp_id1 BEGIN DECLARE n_emp_id karyawan.employee_id% JENIS: = & emp_id2 v_name pekerja.first_name% NAMA_PENILAI_tama_PENGARUH_PENILAI_NAMA_PEKERJAAN_PENAMAAN_PENILAI_NAMA_PENGHARGAAN_PENILAI_NAMA_PEKERJAAN_PENILAIAN_PENGARUH_PENILAI_PENILAIAN_PENYATAAN pekerja '|| n_emp_id ||' is '|| v_name) KECUALI APABILA_data_ditemukan KEMUDIAN DBMS_OUTPUT.PUT_LINE (' Pekerja '|| n_emp_id ||' tidak dijumpai ') TAMAT TAMAT /

Blok PL / SQL luar dalam contoh di atas dikenali sebagai blok induk atau blok selekoh, blok dalaman, sebaliknya, dikenali sebagai blok anak atau blok tertutup.

Bukan idea yang bagus untuk menggunakan pemboleh ubah dengan nama yang sama di kedua blok kerana semasa pelaksanaan pemboleh ubah blok anak akan mengatasi pemboleh ubah blok induk. Ia berlaku kerana PL / SQL memberi keutamaan pertama kepada pemboleh ubah di dalam bloknya sendiri.

Blok Label

Kita dapat mengatasi masalah ini dengan label blok yang membantu kita membuat rujukan kepada pemboleh ubah di dalam blok menggunakan label.

Berikut adalah contoh mudah untuk menunjukkan bagaimana kita boleh menggunakan label blok.

 <>TAHNIAH ... MULAI ... TAMAT

Menggunakan label blok membantu meningkatkan keterbacaan kod, mendapatkan kawalan yang lebih baik dan membuat rujukan pada blok tersebut. Setelah mengetahui bagaimana kita dapat bekerja dengan blok bersarang, mari kita cuba memahami bagaimana JIKA PERNYATAAN berfungsi di PL / SQL.

JIKA Penyata

PL / SQL mempunyai tiga PERNYATAAN JIKA

  • SEKIRANYA - KENYATAAN JIKA paling mudah jika syarat itu benar, penyataan akan dilaksanakan, jika syarat itu salah, tidak ada apa-apa.

  • JIKA-SELAIN - Dalam ini, klausa ELSE ditambahkan untuk urutan pernyataan alternatif.

  • JIKA-LAIN-ELSEIF - Ini membolehkan kita melaksanakan beberapa syarat ujian secara berurutan.

Sintaks IF-THEN

JIKA syarat TELAH urutan_pada_pernyataan TAMAT JIKA

Sintaks IF-THEN-ELSE

JIKA syarat TIGA urutan_of_if_statensi ELSE urutan_of_else_statensi TAMAT JIKA

Sintaks IF-THEN-ELSEIF

JIKA syarat1 KETIGA urutan_statemen1 KEADAAN ELSIF2 KEMUDIAN urutan_of_statements2 ELSE urutan_of_statements3 TAMAT JIKA

Sekarang kita sudah selesai dengan KENYATAAN JIKA mari kita lihat pernyataan CASE di PL / SQL.

Penyataan KES

Pernyataan CASE pada asasnya membantu dalam melaksanakan urutan penyataan berdasarkan pemilih. Pemilih, dalam hal ini, dapat berupa apa saja, boleh jadi pemboleh ubah, fungsi atau ungkapan sederhana. Berikut adalah contoh mudah untuk menunjukkan sintaks pernyataan CASE dalam PL / SQL.

[<>] KES [BENAR | pemilih] KETIKA ekspresi1 KALI urutan_st_statements1 KETIKA ekspresi2 KINI urutan_of_statements2 ... APABILA ungkapanN KALI urutan_of_statementsN [ELSE urutan_of_statementsN + 1] KES TAMAT [label_nama]

Dalam sintaks di atas, setelah kata kunci CASE muncul pemilih. PL / SQL akan menilai pemilih hanya sekali untuk menentukan pernyataan mana yang perlu dijalankan.

Diikuti oleh pemilih adalah KETIKA kata kunci. Sekiranya ungkapan memuaskan pemilih maka pernyataan yang sesuai setelah KEMUDIAN kata kunci dilaksanakan.

Sekarang setelah kita tahu bagaimana kita dapat menggunakan pernyataan CASE, mari kita cuba memahami bagaimana kita akan menggunakan pernyataan gelung dalam PL / SQL.

rentetan php parse to array

Penyataan Gelung

Pernyataan gelung dalam PL / SQL adalah pernyataan berulang yang membolehkan anda melaksanakan urutan penyataan berkali-kali. Berikut adalah contoh mudah untuk menunjukkan sintaks pernyataan gelung dalam PL / SQL.

LOOP urutan_of_statements LOOP TAMAT

Terdapat sekurang-kurangnya satu penyataan yang dapat dilaksanakan di antara kata kunci LOOP dan END LOOP.

Gelung dengan Penyataan EXIT

EXIT dan EXIT ketika pernyataan membolehkan anda keluar dari gelung. EXIT APABILA pernyataan mengakhiri gelung secara bersyarat sementara EXIT menghentikan pelaksanaan tanpa syarat.

LOOP ... KELUAR APABILA keadaan LOOP TAMAT

Label Gelung

Label gelung digunakan untuk memenuhi syarat nama pemboleh ubah pembilang gelung apabila digunakan dalam gelung bersarang. Berikut adalah sintaks label gelung.

 <>LOOP urutan_of_statements LOOP TAMAT

Sekarang kita tahu bagaimana kita boleh menggunakan pernyataan gelung, mari kita lihat sementara pernyataan gelung untuk pemahaman yang lebih baik.

Sementara Penyataan Gelung

Kita boleh menggunakan pernyataan gelung WHILE ketika jumlah pelaksanaan tidak ditentukan sehingga pelaksanaannya dimulakan. Sintaks berikut digunakan untuk pernyataan gelung WHILE dalam PL / SQL.

KETIKA keadaan LOOP urutan_of_statements LOOP TAMAT

Keadaan dalam sintaks adalah nilai atau ungkapan boolean yang dinilai sama ada BENAR, SALAH atau NULL. Sekiranya keadaan itu BENAR, pernyataan akan dijalankan, jika SALAH, pelaksanaan berhenti dan kawalan menuju ke penyataan yang dapat dilaksanakan berikutnya.

Sekarang kita tahu bagaimana kita boleh menggunakan pernyataan gelung WHILE, mari kita lihat pernyataan gelung FOR.

Untuk Penyataan Gelung

Pernyataan gelung FOR dalam PL / SQL membolehkan kami melaksanakan urutan penyataan untuk sebilangan kali. Berikut adalah sintaks untuk menggunakan pernyataan gelung FOR dalam PL / SQL

UNTUK loop_counter IN [REVERSE] lower_bound .. lebih tinggi_bound LOOP urutan_of_statements TAMAT AKHIR

PL / SQL membuat loop_counter pemboleh ubah tempatan secara automatik dengan jenis data INTEGER untuk gelung sehingga anda tidak perlu menyatakannya secara eksplisit. The lowbound..higherbound adalah julat di mana gelung berulang. Anda juga mesti mempunyai sekurang-kurangnya satu penyataan yang dapat dilaksanakan antara kata kunci LOOP dan END LOOP.

Setelah mengetahui bagaimana kita dapat menggunakan pernyataan gelung dalam PL / SQL, mari kita lihat pengendalian yang luar biasa di PL / SQL.

Pengendalian yang Luar Biasa

Dalam PL / SQL segala jenis kesalahan dianggap sebagai pengecualian. Pengecualian dapat dianggap sebagai keadaan khas yang dapat mengubah atau mengubah aliran pelaksanaan. Dalam PL / SQL, terdapat dua jenis pengecualian.

  • Pengecualian Sistem - Ia dibangkitkan oleh jangka masa PL / SQL ketika mengesan ralat.

  • Pengecualian yang Ditetapkan oleh Pengaturcara - Pengecualian ini ditentukan oleh pengaturcara dalam aplikasi tertentu.

Menentukan Pengecualian

Pengecualian dalam PL / SQL harus dinyatakan sebelum dapat ditingkatkan. Kita dapat menentukan pengecualian menggunakan kata kunci PENGECUALIAN seperti yang telah kita lakukan dalam contoh di bawah.

EXCEPTION_NAME PENGECUALIAN

Untuk meningkatkan pengecualian, kami menggunakan kata kunci RAISE.

MENINGKATKAN PENGECUALIAN_NAME

Oleh itu, semuanya berkaitan dengan PL / SQL, saya harap artikel ini dapat membantu anda menambah nilai pengetahuan anda. Untuk maklumat lebih lanjut mengenai SQL atau Pangkalan Data, anda boleh merujuk senarai bacaan komprehensif kami di sini: .

Sekiranya anda ingin mendapatkan latihan terstruktur di MySQL, maka periksa kami yang dilengkapi dengan latihan langsung yang dipimpin oleh instruktur dan pengalaman projek kehidupan sebenar. Latihan ini akan membantu anda memahami MySQL secara mendalam dan membantu anda mencapai penguasaan terhadap subjek ini.

Ada soalan untuk kami? Sila sebutkan di bahagian komen ” Tutorial PL / SQL 'Dan saya akan menghubungi anda.