Perbezaan Antara Prosedur dan Fungsi Stored
Prosedur Tersimpan vs Fungsi
Prosedur dan fungsi tersimpan adalah dua jenis blok pengaturcaraan. Kedua-duanya mesti mempunyai nama panggilan. Mereka nama panggilan digunakan untuk memanggil mereka di dalam blok pengaturcaraan lain seperti fungsi dan pakej prosedur atau pertanyaan SQL. Kedua-dua jenis objek ini menerima parameter dan melaksanakan tugas di belakang objek tersebut. Inilah sintaks (dalam ORACLE) untuk membuat prosedur tersimpan,
membuat atau menggantikan prosedur prosedur (parameter)
sebagai
memulakan
kenyataan;
pengecualian
exception_handling
akhir;
Dan inilah sintaks untuk membuat fungsi (dalam ORACLE),
membuat atau menggantikan function_name (parameter)
pulangan return_datatype
sebagai pernyataan
bermula
;
pulangan return_value / pemboleh ubah;
pengecualian;
exception_handling;
akhir;
Prosedur Tersimpan
Seperti yang dinyatakan di atas prosedur yang tersimpan dinamakan 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
Fungsi juga dinamakan blok pengaturcaraan, yang mesti mengembalikan nilai menggunakan pernyataan RETURN, dan sebelum ia mengembalikan nilai, tubuhnya 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,
- Fungsi baris tunggal (mengembalikan hasil tunggal untuk setiap baris pertanyaan)
Terdapat sub kategori fungsi baris tunggal. Fungsi fungsi angka (Contoh: ABS, SIN, COS)
- Fungsi aksara (Contoh: CONCAT, INITCAP)
- Fungsi masa tarikh (Contoh: LAST_DAY, NEXT_DAY)
- Fungsi penukaran (Contoh: TO_CHAR, TO_DATE Fungsi-fungsi agregat (Mengembalikan baris tunggal, berdasarkan kumpulan baris EX: AVG, SUM, MAX)
- Fungsi analitik
- Fungsi rujukan objek
- Fungsi model
- Fungsi pengguna yang ditentukan
- Apakah perbezaan antara fungsi dan Prosedur Disimpan?
- • 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.
• Jenis data RETURN mesti disertakan untuk mencipta fungsi, tetapi dalam DDL prosedur tersimpan, tidak. Disyorkan |