Prosedur Tersimpan vs Fungsi
Prosedur dan fungsi yang disimpan adalah dua jenis blok pengaturcaraan. Kedua-duanya mesti mempunyai nama panggilan. Nama panggilan tersebut digunakan untuk memanggil mereka di dalam blok pengaturcaraan lain seperti fungsi dan pakej prosedur atau pertanyaan SQL. Kedua-dua jenis objek menerima parameter dan melaksanakan tugas di belakang objek tersebut. Inilah sintaks (dalam ORACLE) untuk membuat prosedur tersimpan,
membuat atau menggantikan prosedur prosedur (parameter)
sebagai
mulakan
penyataan;
pengecualian
pengecualian
akhir;
Dan inilah sintaks untuk mencipta fungsi (dalam ORACLE),
membuat atau menggantikan function_name (parameter)
kembali return_datatype
sebagai
mulakan
penyataan;
pulangan return_value / pemboleh ubah;
pengecualian;
exception_handling;
akhir;
Prosedur Tersimpan
Seperti yang disebutkan di atas prosedur yang disimpan disebut blok pengaturcaraan. Mereka menerima parameter sebagai input pengguna dan memproses mengikut logik di belakang prosedur dan memberi hasil (atau melakukan tindakan tertentu). Parameter ini boleh menjadi jenis IN, OUT dan INOUT. Pengisytiharan berubah-ubah, tugasan pembolehubah, kenyataan kawalan, gelung, pertanyaan SQL dan fungsi / prosedur / panggilan pakej lain boleh berada di dalam badan prosedur.
Fungsi
Fungsi juga dinamakan blok pengaturcaraan, yang mesti mengembalikan nilai menggunakan pernyataan RETURN, dan sebelum ia mengembalikan nilai, badannya melakukan beberapa tindakan juga (menurut logik yang diberikan). Fungsi juga menerima parameter untuk dijalankan. Fungsi boleh dipanggil di dalam pertanyaan. Apabila fungsi dipanggil di dalam pertanyaan SELECT, ia terpakai untuk setiap baris set hasil query SELECT. Terdapat beberapa kategori fungsi ORACLE. Mereka adalah,
Terdapat sub kategori fungsi baris tunggal.
Apakah perbezaan antara fungsi dan Prosedur Tersimpan? • Semua fungsi mesti mengembalikan nilai menggunakan pernyataan RETURN. Prosedur disimpan tidak mengembalikan nilai menggunakan pernyataan RETURN. Kenyataan RETURN di dalam prosedur akan mengembalikan kawalannya kepada program panggilan. OUT parameter boleh digunakan untuk mengembalikan nilai dari prosedur tersimpan. • Fungsi boleh dipanggil di dalam pertanyaan, tetapi prosedur tersimpan tidak boleh digunakan di dalam pertanyaan. • RETURN jenis data mesti dimasukkan untuk membuat fungsi, tetapi dalam prosedur yang disimpan DDL, tidak. |