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



Tutorial PL / SQL mencakup semua penjelasan rinci tentang semua konsep yang diperlukan untuk menguasai pemrograman PL / SQL dengan berbagai contoh

PL / SQL merupakan bahasa prosedural yang mengatasi kekurangan yang dihadapi Bahasa Kueri Terstruktur . Ini adalah ekstensi dari SQL dan kami bahkan dapat menggunakan kueri SQL tanpa kerumitan dalam aplikasi atau program PL / SQL apa pun. Dalam tutorial PL / SQL ini, kita akan membahas konsep dasar PL / SQL secara rinci. Topik berikut ini dibahas dalam artikel ini.

Apa itu PL / SQL?

Itu singkatan dari ekstensi bahasa prosedural ke bahasa kueri terstruktur . Oracle membuat PL / SQL yang memperluas beberapa batasan SQL untuk memberikan solusi yang lebih komprehensif untuk membangun aplikasi penting yang berjalan di oracle .





logo-pl / sql tutorial - edureka

fitur

  • PL / SQL menyediakan fungsionalitas bahasa prosedural seperti pengambilan keputusan, iterasi, dll.

  • Menggunakan satu perintah, PL / SQL dapat mengeksekusi sejumlah kueri.



  • Kami juga dapat menggunakan kembali unit PL / SQL seperti fungsi, pemicu, prosedur, dll yang disimpan dalam database setelah pembuatan.

  • PL / SQL juga memiliki blok penanganan pengecualian yang menangani pengecualian di PL / SQL.

  • Pemeriksaan kesalahan ekstensif juga dimungkinkan menggunakan PL / SQL



  • Aplikasi yang ditulis dalam PL / SQL dapat dibawa-bawa ke perangkat keras lain dan sistem operasi yang disediakan oracle harus beroperasi.

PL / SQL vs SQL

SQL PL / SQL
SQL adalah kueri tunggal yang digunakan untuk melakukan operasi DDL dan DMLPL / SQL adalah blok kode yang digunakan untuk mendefinisikan seluruh program atau prosedur / fungsi, dll
Ini tidak benar-benar mendefinisikan bagaimana sesuatu perlu dilakukan, melainkan mendefinisikan apa yang perlu dilakukanPL / SQL mendefinisikan bagaimana hal-hal perlu dilakukan
Ini mengeksekusi satu pernyataanIni mengeksekusi blok pernyataan sekaligus.
SQL terutama digunakan untuk memanipulasi dataPL / SQL, di sisi lain, digunakan untuk membuat aplikasi
Tidak boleh berisi kode PL / SQLKarena ini adalah ekstensi SQL, ini dapat berisi kode SQL di dalamnya

Struktur Blok Dalam PL / SQL

PL / SQL biasanya mengatur kode ke dalam blok. Blok kode tanpa nama dikenal sebagai blok anonim. Ini dikenal sebagai blok anonim karena tidak disimpan dalam database oracle. Mari kita lihat blok anonim di PL / SQL.

[MENYATAKAN] pernyataan deklarasi [BEGIN] pernyataan eksekusi [PENGECUALIAN] pernyataan pengecualian SELESAI /

Melihat diagram di atas, kita dapat melihat bahwa struktur blok terbagi menjadi empat bagian, yaitu deklarasi, permulaan, pengecualian dan akhir. Mari kita coba memahami bagaimana struktur blok bekerja di PL / SQL. Dari semua bagian ini, bagian eksekusi adalah wajib dan sisanya opsional.

  • MENYATAKAN Kata kunci digunakan untuk bagian deklarasi digunakan untuk mendeklarasikan tipe dan struktur data seperti variabel, fungsi, dll.

  • MULAI kata kunci digunakan untuk bagian eksekusi. Ini wajib dan berisi semua pernyataan yang perlu dieksekusi. Blok ini adalah tempat logika bisnis didefinisikan, kita dapat menggunakan pernyataan prosedural atau SQL di blok ini.

  • Itu PENGECUALIAN kata kunci digunakan untuk bagian pengecualian. Ini berisi semua pernyataan pengecualian.

  • AKHIR Kata kunci menandai akhir blok dan garis miring ke belakang '/' memberi tahu alat yang Anda gunakan (Alat Database Oracle) untuk mengeksekusi blok PL / SQL.

Berikut adalah contoh sederhana untuk menunjukkan bagaimana kita dapat menggunakan kode PL / SQL.

BEGIN NULL END /

Sekarang kita tahu bagaimana struktur blok bekerja di PL / SQL, mari kita pahami berbagai aspek PL / SQL seperti mendeklarasikan, menamai, dan menetapkan nilai ke variabel.

Variabel PL / SQL

Variabel dalam PL / SQL pada dasarnya adalah nama yang bervariasi atau lokasi penyimpanan sementara yang mendukung suatu tipe data tertentu. Mari kita lihat bagaimana kita dapat menggunakan variabel dalam program PL / SQL.

Aturan Penamaan Variabel

PL / SQL mengikuti aturan berikut untuk penamaan variabel.

  • Variabel tidak boleh lebih dari 31 karakter

  • Nama variabel harus dimulai dengan karakter ASCII. Karena PL / SQL peka huruf besar-kecil, huruf besar dan huruf kecil akan menjadi variabel yang berbeda.

  • Setelah karakter pertama, harus ada karakter khusus ($, _) atau angka apa pun.

Konvensi Penamaan

Gunakan konvensi penamaan berikut yang tercantum di bawah ini untuk menggunakan variabel.

Awalan Tipe data
v_VARCHAR2
n_JUMLAH
t_MEJA
r_BARIS
d_TANGGAL
b_BOOLEAN

Pernyataan

Mari kita coba memahami bagaimana deklarasi variabel dilakukan di PL / SQL

Deklarasi tersebut menyertakan nama variabel diikuti dengan tipe data dan dipisahkan dengan titik koma. Berikut adalah contoh untuk menunjukkan bagaimana Anda dapat mendeklarasikan variabel dalam PL / SQL.

MENYATAKAN v_name VARCHAR (25) n_age NUMBER (3) BEGIN NULL END

Anda juga dapat menambahkan panjang tipe data seperti yang telah kita lakukan pada contoh di atas.

Jangkar

Jangkar pada dasarnya mengacu pada penggunaan kata kunci% TYPE yang mendeklarasikan variabel dengan tipe data yang terkait dengan tipe data kolom dari kolom tertentu dalam tabel.

Lihat contoh untuk memahami ini. Misalkan kita memiliki tabel EMPLOYEES, kita dapat menggunakan jangkar dengan cara berikut.

MENYATAKAN v_name EMPLOYEE.NAME% TYPE n_age EMPLOYEE.AGE% TYPE BEGIN NULL END /

Tugas

Penugasan variabel cukup mudah, kita dapat menggunakan operator penugasan untuk menetapkan nilai ke suatu variabel. Contoh berikut menunjukkan bagaimana kita dapat menetapkan nilai ke variabel.

MENYATAKAN v_name VARCHAR (20) n_course VARCHAR (10) BEGIN v_name = 'edureka' v_course = 'sql' END /

Inisialisasi

Kita juga bisa menginisialisasi nilai variabel di bagian deklarasi. Contoh berikut menunjukkan bagaimana kita dapat menginisialisasi nilai ke variabel.

fungsi split dalam contoh java
MENYATAKAN v_name VARCHAR (20) = 'edureka' n_course VARCHAR (10) = 'sql' BEGIN NULL END /

Sekarang kita tahu bagaimana kita bisa bekerja dengan variabel, mari kita coba memahami bagaimana kita akan menggunakan fungsi di PL / SQL.

Fungsi Dalam PL / SQL

Fungsi di 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 di PL / SQL.

BUAT [ATAU GANTI] FUNGSI function_name [(parameter_1 [IN] [OUT] data_type, parameter_2 [IN] [OUT] data_type, parameter_N [IN] [OUT] data_type] RETURN return_data_type IS BEGIN pernyataan return_data_type EXCEPTION END /

Pertama-tama, Anda harus menentukan nama fungsi setelah kata kunci. Nama fungsi harus dimulai dengan kata kerja. Sebuah fungsi mungkin tidak memiliki satu pun, satu atau lebih parameter yang kita tentukan dalam parameter. Kita harus menentukan tipe data dari setiap parameter secara eksplisit, dan kemudian muncul mode yang bisa dari yang berikut ini.

  • DI - Parameter IN adalah parameter read-only.

  • KELUAR - Ini adalah parameter hanya-tulis

  • DI OUT - Parameter IN OUT adalah parameter baca-tulis.

Berikut adalah contoh sederhana untuk menunjukkan bagaimana kita menggunakan fungsi di PL / SQL.

BUAT ATAU GANTI FUNGSI try_parse (iv_number DI VARCHAR2) NOMOR PENGEMBALIAN DIMULAI KEMBALI keNomor (iv_number) PENGECUALIAN KETIKA orang lain KEMUDIAN KEMBALI NOL AKHIR

Memanggil Fungsi

Mari kita coba memanggil fungsi yang telah kita buat di blok anonim pada contoh berikut.

SET SERVEROUTPUT PADA UKURAN 1000000 MENYATAKAN n_x nomor n_y nomor n_z nomor BEGIN n_x: = try_parse ('256') n_y: = try_parse ('29 .72 ') n_z: = try_parse (' pqrs ') DBMS_OUTPUT.PUT_LINE (n_x) DBMS_OUTP ( n_y) DBMS_OUTPUT.PUT_LINE (n_z) SELESAI /

Kita dapat memanggil fungsi tersebut dalam pernyataan SELECT juga. Sekarang kita tahu bagaimana kita bisa menggunakan fungsi di PL / SQL, mari kita coba 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 logika bisnis yang kompleks dan menggunakannya kembali di lapisan aplikasi dan database.

Mari kita lihat contoh sederhana untuk memahami bagaimana prosedur bekerja di PL / SQL

BUAT ATAU GANTI PROSEDUR adjust_salary (in_employee_id IN KARYAWAN.EMPLOYEE_ID% TYPE, in_percent IN NUMBER) DIMULAI - perbarui gaji karyawan UPDATE karyawan SET gaji = gaji + gaji * dalam_percent / 100 WHERE employee_id = in_employee_id SELESAI

Dalam contoh di atas, kami memiliki dua parameter, prosedur menyesuaikan gaji dengan persentase tertentu dan kata kunci UPDATE memperbarui nilai dalam informasi gaji.

Header Prosedur

Bagian sebelum kata kunci IS disebut header prosedur. Berikut ini adalah beberapa petunjuk yang harus Anda ketahui saat bekerja dengan prosedur.

  • skema - Ini adalah nama skema opsional yang dimiliki prosedur.

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

    c ++ pernyataan goto
  • parameter - Ini adalah daftar parameter opsional.

  • AUTHID - Ini menentukan apakah prosedur akan dijalankan dengan hak istimewa pengguna saat ini atau pemilik asli prosedur.

Badan Prosedur

Segala sesuatu yang muncul setelah kata kunci IS disebut badan prosedur. Kami memiliki pernyataan deklarasi, pengecualian dan eksekusi di badan prosedur. Berbeda dengan fungsinya, kata kunci RETURN dalam sebuah prosedur digunakan untuk menghentikan eksekusi dan mengembalikan kontrol ke pemanggil.

Memanggil Prosedur A

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

EXEC procedure_name (param1, param2 & hellipparamN)

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

Blok Bersarang

Blok bersarang tidak lain adalah kombinasi dari satu atau lebih blok PL / SQL untuk mendapatkan kontrol yang lebih baik atas eksekusi dan penanganan yang luar biasa untuk program.

Berikut adalah contoh sederhana dari blok bersarang.

SET SERVEROUTPUT PADA UKURAN 1000000 MENYATAKAN n_emp_id KARYAWAN.EMPLOYEE_ID% TYPE: = & emp_id1 MULAI MENYATAKAN n_emp_id karyawan.employee_id% TYPE: = & emp_id2 v_name employee.first_name% TYPE BEGIN SELECT first_name INTO v_LINE_PUTMS name FROM employee karyawan '|| n_emp_id ||' adalah '|| v_name) PENGECUALIAN KETIKA tidak ada data_ditemukan MAKA DBMS_OUTPUT.PUT_LINE (' Karyawan '|| n_emp_id ||' tidak ditemukan ') SELESAI /

Blok PL / SQL luar pada contoh di atas dikenal sebagai blok induk atau blok penutup, sedangkan blok bagian dalam dikenal sebagai blok anak atau blok tertutup.

Bukan ide bagus untuk menggunakan variabel dengan nama yang sama di kedua blok karena selama eksekusi variabel blok anak akan menimpa variabel blok induk. Itu terjadi karena PL / SQL memberikan prioritas pertama ke variabel di dalam bloknya sendiri.

Blok Label

Kami dapat mengatasi masalah ini dengan label blok yang membantu kami membuat referensi ke variabel di dalam blok menggunakan label.

Berikut adalah contoh sederhana untuk menunjukkan bagaimana kita dapat menggunakan label blok.

 <>MENYATAKAN ... MULAI ... AKHIR

Menggunakan label blok membantu meningkatkan keterbacaan kode, mendapatkan kontrol yang lebih baik dan membuat referensi ke blok. Sekarang kita tahu bagaimana kita bisa bekerja dengan blok bersarang, mari kita coba memahami cara kerja IF STATEMENT di PL / SQL.

Pernyataan IF

PL / SQL memiliki tiga PERNYATAAN JIKA

  • JIKA KEMUDIAN - Ini adalah PERNYATAAN IF yang paling sederhana jika kondisinya benar, pernyataan akan dieksekusi, jika kondisinya salah, ia tidak melakukan apa-apa.

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

  • JIKA-LALU-ELSEIF - Ini memungkinkan kami untuk menjalankan beberapa kondisi pengujian secara berurutan.

Sintaks IF-THEN

JIKA kondisi THEN sequence_of_statements END JIKA

Sintaks IF-THEN-ELSE

JIKA kondisi MAKA sequence_of_if_statements ELSE sequence_of_else_statements AKHIR JIKA

Sintaks IF-THEN-ELSEIF

JIKA kondisi1 MAKA sequence_of_statements1 ELSIF condition2 THEN sequence_of_statements2 ELSE sequence_of_statements3 AKHIR JIKA

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

Pernyataan CASE

Pernyataan CASE pada dasarnya membantu dalam menjalankan urutan pernyataan berdasarkan selektor. Selektor, dalam hal ini, bisa apa saja, bisa berupa variabel, fungsi, atau ekspresi sederhana. Berikut adalah contoh sederhana untuk menunjukkan sintaks pernyataan CASE di PL / SQL.

adalah sebagai bahasa pemrograman
[<>] KASUS [BENAR | selector] KETIKA ekspresi1 LALU sequence_of_statements1 KETIKA ekspresi2 MAKA sequence_of_statements2 ... KETIKA ekspresiN THEN sequence_of_statementsN [ELSE sequence_of_statementsN + 1] END CASE [label_name]

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

Diikuti oleh selektor adalah kata kunci KAPAN. Jika ekspresi memenuhi pemilih maka pernyataan yang sesuai setelah kata KEMUDIAN dieksekusi.

Sekarang kita tahu bagaimana kita bisa menggunakan pernyataan CASE, mari kita coba memahami bagaimana kita akan menggunakan pernyataan loop di PL / SQL.

Pernyataan Loop

Pernyataan loop di PL / SQL adalah pernyataan berulang yang memungkinkan Anda untuk mengeksekusi urutan pernyataan beberapa kali. Berikut adalah contoh sederhana untuk menunjukkan sintaks pernyataan loop di PL / SQL.

LOOP sequence_of_statements END LOOP

Harus ada setidaknya satu pernyataan yang dapat dieksekusi di antara kata kunci LOOP dan END LOOP.

Ulangi dengan Pernyataan EXIT

EXIT dan EXIT ketika pernyataan memungkinkan Anda keluar dari loop. Pernyataan EXIT WHEN mengakhiri loop secara kondisional sementara EXIT menghentikan eksekusi tanpa syarat.

LOOP ... EXIT KETIKA kondisi END LOOP

Label Loop

Label loop digunakan untuk menentukan nama variabel penghitung loop saat digunakan dalam loop bersarang. Berikut ini adalah sintaks label loop.

 <>LOOP sequence_of_statements END LOOP label

Sekarang kita tahu bagaimana kita bisa menggunakan pernyataan loop, mari kita lihat pernyataan while loop untuk pemahaman yang lebih baik.

Pernyataan While Loop

Kita dapat menggunakan pernyataan loop WHILE ketika jumlah eksekusi tidak ditentukan hingga eksekusi dimulai. Sintaks berikut digunakan untuk pernyataan loop WHILE di PL / SQL.

WHILE condition LOOP sequence_of_statements END LOOP

Kondisi dalam sintaksis adalah nilai atau ekspresi boolean yang mengevaluasi TRUE, FALSE, atau NULL. Jika kondisinya BENAR, pernyataan akan dieksekusi, jika FALSE, eksekusi berhenti dan kontrol beralih ke pernyataan eksekusi berikutnya.

Sekarang kita tahu bagaimana kita bisa menggunakan pernyataan loop WHILE, mari kita lihat pernyataan loop FOR.

Untuk Pernyataan Loop

Pernyataan loop FOR di PL / SQL memungkinkan kita untuk mengeksekusi urutan pernyataan untuk beberapa kali tertentu. Berikut ini adalah sintaks untuk menggunakan pernyataan loop FOR di PL / SQL

UNTUK loop_counter DI [MUNDUR] batas_bawah .. LOOP_batas_tinggi sequence_of_statements END LOOP

PL / SQL membuat variabel lokal loop_counter secara otomatis dengan tipe data INTEGER untuk loop sehingga Anda tidak perlu mendeklarasikannya secara eksplisit. Batas rendah..batas tinggi adalah rentang di mana loop berulang. Selain itu, Anda harus memiliki setidaknya satu pernyataan yang dapat dieksekusi antara kata kunci LOOP dan END LOOP.

Sekarang kita tahu bagaimana kita bisa menggunakan pernyataan loop di PL / SQL, mari kita lihat penanganan yang luar biasa di PL / SQL.

Penanganan Luar Biasa

Dalam PL / SQL segala jenis kesalahan diperlakukan sebagai pengecualian. Pengecualian dapat diperlakukan sebagai kondisi khusus yang dapat mengubah atau mengubah aliran eksekusi. Di PL / SQL, ada dua jenis pengecualian.

  • Pengecualian Sistem - Ini dimunculkan oleh run-time PL / SQL ketika mendeteksi kesalahan.

  • Pengecualian yang Ditentukan Programmer - Pengecualian ini ditentukan oleh pemrogram dalam aplikasi tertentu.

Mendefinisikan Sebuah Pengecualian

Pengecualian di PL / SQL harus dideklarasikan sebelum bisa dimunculkan. Kita dapat mendefinisikan pengecualian menggunakan kata kunci EXCEPTION seperti yang telah kita lakukan pada contoh di bawah ini.

EXCEPTION_NAME EXCEPTION

Untuk meningkatkan pengecualian, kami menggunakan kata kunci RAISE.

RAISE EXCEPTION_NAME

Sekian tentang PL / SQL, semoga artikel ini membantu Anda dalam menambah nilai pengetahuan Anda. Untuk informasi lebih lanjut tentang SQL atau Database, Anda dapat merujuk ke daftar bacaan lengkap kami di sini: .

Jika Anda ingin mendapatkan pelatihan terstruktur tentang MySQL, lihat yang dilengkapi dengan pelatihan langsung yang dipimpin instruktur dan pengalaman proyek kehidupan nyata. Pelatihan ini akan membantu Anda memahami MySQL secara mendalam dan membantu Anda menguasai subjek.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar ' Tutorial PL / SQL 'Dan saya akan menghubungi Anda kembali.