Dipecahkan: tolong sql terima

Pembaharuan Terakhir: 09/13/2023

Oracle PL / SQL adalah bahasa pemrograman yang dinamis dan kuat yang menawarkan fitur modern untuk mengembangkan aplikasi yang efisien dan lancar. Sering dibandingkan dengan T-SQL Microsoft, PL/SQL menambahkan prosedur dan fungsi ke SQL standar yang meningkatkan kemampuan aplikasi database. Mengingat kekuatan pemrosesan transaksinya, ini adalah pilihan ideal untuk menjalankan komputasi kompleks dan manipulasi data berat.

Ikhtisar PL/SQL

PL/SQL adalah perpanjangan prosedural dari SQL, yang menciptakan lingkungan pemrograman yang alami, efisien, dan aman. Ini sepenuhnya mendukung manipulasi data SQL dan menyempurnakannya dengan memungkinkan prosedur dan fungsi tersimpan, penanganan kesalahan yang lebih baik, dan standar kuat yang biasanya tidak tersedia di SQL.

PL/SQL adalah terstruktur blok, dan setiap blok atau subprogram anonim memiliki bagian deklarasi opsional tempat semua variabel, kursor, pengecualian yang ditentukan pengguna, dan subprogram dideklarasikan. Selain itu, PL/SQL menjadi bahasa prosedural, mendukung iterasi, percabangan bersyarat, dan memungkinkan penggunaan kembali melalui subprogram yang ditentukan pengguna.

Memecahkan Masalah dengan PL/SQL

Di sini kita akan menulis blok PL/SQL yang memecahkan masalah umum: mengambil informasi dari tabel database dengan kemungkinan pengecualian.

Pertama, kita perlu mendeklarasikan variabel untuk menampung data yang diambil dari database. Di PL/SQL, kami mendeklarasikan variabel di bagian deklarasi sebuah blok.

DECLARE
  l_name    employees.last_name%TYPE;
  l_salary  employees.salary%TYPE;
  l_emp_id  employees.employee_id%TYPE := &Emp_Id;
BEGIN
...

Tindakan utama terjadi di bagian eksekusi:

...
BEGIN
  SELECT last_name, salary
    INTO l_name, l_salary
    FROM employees
   WHERE employee_id = l_emp_id;
   
  DBMS_OUTPUT.PUT_LINE('Name: ' || l_name);
  DBMS_OUTPUT.PUT_LINE('Salary: ' || l_salary);
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('No employee found with ID: ' || l_emp_id);
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('Error occurred: ' || SQLCODE || ' - ' || SQLERRM);
END;

Pentingnya Penanganan Kesalahan

Penanganan kesalahan yang efektif dalam aplikasi PL/SQL dapat membantu mengurangi waktu debugging secara signifikan dan meningkatkan ketahanan aplikasi.

Pada script di atas, kita telah menangani kemungkinan adanya pengecualian (error). Jika ID Karyawan yang ditentukan tidak ada – pernyataan SELECT INTO memunculkan pengecualian NO_DATA_FOUND. Jika ada pengecualian lain yang dimunculkan, pengendali OTHERS akan menangkapnya.

Bentuk penanganan pengecualian adalah contoh utama ketangguhan dan kemampuan PL/SQL dalam mengelola aliran kontrol aplikasi.

Perpustakaan dan Paket PL/SQL

PL/SQL memungkinkan penggunaan paket SQL yang telah ditentukan sebelumnya yang membantu memecahkan masalah umum. Misalnya, DBMS_OUTPUT paket digunakan pada contoh sebelumnya untuk mengeluarkan data ke konsol.

Masih banyak lagi paket serupa seperti DBMS_SQL (SQL dinamis), UTL_FILE (menangani file sisi server), UTL_MAIL (mengirim email dari PL/SQL), dll. Paket-paket ini, dikombinasikan dengan fitur bahasa prosedural yang kuat dari PL/SQL, menawarkan kemampuan yang kuat untuk mengembangkan aplikasi database yang kuat.

Kelebihan PL/SQL

Beberapa keunggulan utama PL/SQL termasuk dukungannya terhadap SQL, portabilitasnya, keamanannya, dan kinerjanya yang luar biasa. Karena integrasinya yang erat dengan SQL, Anda dapat menggunakan semua tipe data SQL serta semua fungsi dan operator SQL.

Ini meningkatkan produktivitas dengan menyediakan fitur-fitur canggih seperti penanganan pengecualian, enkapsulasi, penyembunyian data, dan pewarisan. PL/SQL juga mendukung kursor, yang diberi nama area memori untuk memanipulasi keluaran kueri SQL yang kompleks.

Dengan PL/SQL, Anda dapat melindungi data Anda dari pengguna yang tidak berwenang dengan menerapkan kebijakan keamanan yang kuat. Ia juga memiliki dukungan untuk SQL statis dan dinamis, yang selanjutnya meningkatkan kemampuannya.

PL/SQL juga menawarkan kinerja luar biasa dengan memungkinkan penggabungan pernyataan SQL ke dalam satu blok yang dapat dikirim ke server database dalam satu panggilan. Ini mengurangi lalu lintas jaringan dan meningkatkan kecepatan eksekusi aplikasi.

Pos terkait: