Perbedaannya adalah- Sebuah fungsi harus mengembalikan nilai (dari jenis apa pun) menurut definisi defaultnya, sedangkan dalam kasus prosedur Anda perlu menggunakan parameter seperti OUT
atau IN OUT
parameter untuk mendapatkan hasil. Anda dapat menggunakan fungsi dalam SQL
normal di mana Anda tidak dapat menggunakan prosedur di SQL
pernyataan.
Beberapa Perbedaan Fungsi dan Prosedur
-
Sebuah fungsi selalu mengembalikan nilai menggunakan pernyataan kembali sementara prosedur dapat mengembalikan satu atau lebih nilai melalui parameter atau mungkin tidak kembali sama sekali. Meskipun,
OUT
parameter masih dapat digunakan dalam fungsi, mereka tidak disarankan juga tidak ada kasus di mana orang mungkin merasa perlu melakukannya. MenggunakanOUT
parameter membatasi fungsi untuk digunakan dalam Pernyataan SQL. -
Fungsi dapat digunakan dalam pernyataan SQL biasa seperti
SELECT
,INSERT
,UPDATE
,DELETE
,MERGE
, sedangkan prosedur tidak bisa. -
Fungsi biasanya digunakan untuk perhitungan sedangkan prosedur biasanya digunakan untuk mengeksekusi logika bisnis.
-
Oracle menyediakan ketentuan untuk membuat "Indeks Berbasis Fungsi" untuk meningkatkan kinerja pernyataan SQL berikutnya. Ini berlaku saat menjalankan fungsi pada kolom terindeks di mana klausa kueri.
Informasi Lebih Lanjut tentang Fungsi Vs. Prosedur di sini dan di sini.