Prosedur Tersimpan vs Fungsi
Prosedur dan fungsi tersimpan adalah dua jenis blok pemrograman. Keduanya pasti memiliki nama panggilan. Nama -nama panggilan tersebut digunakan untuk memanggilnya di dalam blok pemrograman lain seperti fungsi dan paket prosedur atau kueri SQL. Kedua jenis objek ini menerima parameter dan melakukan tugas di balik objek tersebut. Ini adalah sintaks (di Oracle) untuk membuat prosedur tersimpan,
Buat atau ganti Prosedur Prosedurename (parameter)
sebagai
mulai
pernyataan;
pengecualian
Exception_handling
akhir;
Dan di sini adalah sintaks untuk membuat fungsi (di Oracle),
Buat atau ganti fungsi fungsi_name (parameter)
return return_datatype
sebagai
mulai
pernyataan;
return return_value/variabel;
pengecualian;
pengecualian_handling;
akhir;
Prosedur tersimpan
Seperti disebutkan di atas, prosedur tersimpan bernama blok pemrograman. Mereka menerima parameter sebagai input dan proses pengguna sesuai dengan logika di balik prosedur dan memberikan hasilnya (atau melakukan tindakan tertentu). Parameter ini dapat masuk, keluar dan tidak masuk. Deklarasi variabel, penugasan variabel, pernyataan kontrol, loop, kueri SQL dan fungsi/prosedur/panggilan paket lainnya dapat berada di dalam badan prosedur.
Fungsi
Fungsi juga dinamai blok pemrograman, yang harus mengembalikan nilai menggunakan pernyataan pengembalian, dan sebelum mengembalikan nilai, tubuhnya melakukan beberapa tindakan juga (menurut logika yang diberikan). Fungsi juga menerima parameter untuk dijalankan. Fungsi dapat dipanggil di dalam kueri. Ketika suatu fungsi dipanggil di dalam kueri pilih, itu berlaku untuk setiap baris set hasil dari kueri pilih. Ada beberapa kategori fungsi Oracle. Mereka,
Ada sub -kategori dari satu fungsi baris.
Apa perbedaan antara fungsi dan prosedur tersimpan? • Semua fungsi harus mengembalikan nilai menggunakan pernyataan pengembalian. Prosedur tersimpan tidak mengembalikan nilai menggunakan pernyataan pengembalian. Pernyataan pengembalian di dalam prosedur akan mengembalikan kontrolnya ke program panggilan. Parameter keluar dapat digunakan untuk mengembalikan nilai dari prosedur tersimpan. • Fungsi dapat dipanggil di dalam kueri, tetapi prosedur tersimpan tidak dapat digunakan di dalam kueri. • Tipe data pengembalian harus dimasukkan untuk membuat fungsi, tetapi dalam prosedur tersimpan ddl, tidak. |