Prosedur vs Fungsi dalam Pengaturcaraan
Prosedur dan Fungsi dalam pengaturcaraan, membolehkan pengaturcara mengumpulkan arahan bersama dalam satu blok dan ia boleh dipanggil dari pelbagai tempat dalam program. Kod menjadi lebih mudah difahami dan lebih padat. Dengan melakukan pengubahsuaian di satu tempat, keseluruhan kod akan terjejas. Dengan bantuan fungsi dan prosedur; kod linear dan panjang boleh dibahagikan kepada bahagian bebas. Ia memberikan lebih fleksibiliti kepada pengekodan pelbagai bahasa pengaturcaraan dan pangkalan data.
Apakah itu fungsi?
Fungsi mampu menerima parameter yang juga dikenali sebagai argumen. Mereka menjalankan tugas mengikut hujah atau parameter ini dan mengembalikan nilai jenis tertentu. Kita boleh menerangkannya dengan lebih baik dengan bantuan contoh: Fungsi menerima rentetan sebagai parameter dan mengembalikan entri atau rekod pertama daripada pangkalan data. Ia mengambil kira kandungan untuk medan tertentu yang bermula dengan aksara sedemikian.
Sintaks fungsi adalah seperti berikut:
BUAT ATAU GANTIKAN FUNGSI my_func
(p_name DALAM VARCHAR2:=‘Jack’) kembalikan varchar2 sebagai permulaan … tamat
Apakah itu prosedur?
Prosedur boleh menerima parameter atau argumen dan mereka menjalankan tugas mengikut parameter ini. Jika prosedur menerima rentetan sebagai parameter dan ia memberikan senarai dengan rekod dalam pangkalan data yang kandungan medan tertentu bermula dengan aksara sedemikian.
Sintaks prosedur adalah seperti berikut:
BUAT ATAU GANTIKAN PROSEDUR my_proc
(p_name DALAM VARCHAR2:=‘Jack’) sebagai permulaan … tamat
Terutamanya, terdapat dua cara untuk menghantar parameter dalam fungsi dan prosedur; dengan nilai atau rujukan. Jika parameter diluluskan oleh nilai; pengubahsuaian terjejas dalam fungsi atau prosedur tanpa menjejaskan nilai sebenarnya.
Sebaliknya, jika parameter diluluskan oleh rujukan; nilai sebenar parameter ini akan ditukar di mana-mana sahaja ia dipanggil dalam kod mengikut arahan.
Perbezaan antara prosedur dan fungsi
• Apabila parameter dimasukkan ke dalam prosedur; ia tidak mengembalikan sebarang nilai sedangkan fungsi sentiasa mengembalikan nilai.
• Salah satu perbezaan utama dalam kedua-duanya ialah prosedur tidak digunakan dalam pangkalan data manakala fungsi memainkan peranan penting dalam mengembalikan nilai daripada pangkalan data.
• Prosedur mampu mengembalikan berbilang nilai dan fungsi dapat mengembalikan nilai terhad.
• Operasi DML boleh digunakan dalam prosedur tersimpan; namun, ia tidak boleh dilakukan dalam fungsi.
• Fungsi hanya boleh mengembalikan satu nilai dan ia adalah wajib manakala prosedur boleh mengembalikan nilai n atau sifar.
• Dalam fungsi, pengendalian ralat tidak boleh dilakukan sedangkan ia boleh dilakukan dalam prosedur tersimpan.
• Parameter input dan output boleh diluluskan dalam prosedur manakala dalam kes fungsi; hanya parameter input boleh dilalui.
• Fungsi boleh dipanggil daripada prosedur manakala tidak mungkin untuk memanggil prosedur daripada fungsi.
• Pengurusan transaksi boleh dipertimbangkan dalam prosedur dan ia tidak boleh dipertimbangkan dalam kes fungsi.