Prosedur vs Fungsi dalam Pengaturcaraan
Prosedur dan Fungsi dalam pengaturcaraan, membolehkan pengatur cara untuk mengumpulkan arahan bersama dalam satu blok dan boleh dipanggil dari pelbagai tempat dalam program. Kod ini 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 seksyen bebas. Mereka menyediakan lebih banyak fleksibiliti untuk pengekodan pelbagai bahasa pengaturcaraan dan pangkalan data.
Apakah fungsi?
Fungsi mampu menerima parameter yang juga dikenali sebagai argumen. Mereka menjalankan tugas mengikut hujah-hujah atau parameter-parameter ini dan mengembalikan nilai-nilai jenis tertentu. Kita boleh menerangkannya dengan lebih baik dengan bantuan contoh: Fungsi menerima rentetan sebagai parameter dan mengembalikan entri pertama atau rekod dari pangkalan data. Ia mengambil kira kandungan untuk medan tertentu yang bermula dengan aksara tersebut.
Sintaks fungsi adalah seperti berikut:
CREATE OR REPLACE FUNCTION my_func
(p_name IN VARCHAR2: = 'Jack') kembali varchar2 sebagai bermula ... tamat
Apakah prosedurnya??
Prosedur boleh menerima parameter atau hujah dan mereka menjalankan tugas mengikut parameter ini. Jika tatacara menerima rentetan sebagai parameter dan ia memberikan senarai dengan rekod dalam pangkalan data yang mana kandungan medan tertentu bermula dengan aksara tersebut.
Sintaks prosedur adalah seperti berikut:
MEMBUAT ATAU GANTI PROSEDUR my_proc
(p_name IN VARCHAR2: = 'Jack') sebagai bermula ... tamat
Terutamanya, terdapat dua cara di mana parameter diluluskan dalam fungsi dan prosedur; dengan nilai atau mengikut rujukan. Jika parameter diluluskan oleh nilai; pengubahsuaian terjejas dalam fungsi atau prosedur tanpa menjejaskan nilai sebenar.
Sebaliknya, jika parameter diluluskan oleh rujukan; nilai sebenar parameter ini akan diubah di mana sahaja ia dipanggil dalam kod mengikut arahan.
Perbezaan antara prosedur dan fungsi • Apabila parameter diteruskan ke dalam prosedur; ia tidak mengembalikan apa-apa nilai manakala fungsi sentiasa mengembalikan nilai. • Salah satu perbezaan utama dalam kedua-duanya ialah prosedur tidak digunakan dalam pangkalan data sedangkan fungsi memainkan peranan penting dalam mengembalikan nilai-nilai dari pangkalan data. • Prosedur dapat memulangkan pelbagai nilai dan fungsi dapat mengembalikan nilai yang terhad. • Operasi DML boleh digunakan dalam prosedur tersimpan; Walau bagaimanapun, ia tidak mungkin dalam fungsi. • Fungsi hanya boleh mengembalikan satu nilai dan adalah mandatori manakala prosedur boleh mengembalikan nilai n atau sifar. • Dalam fungsi, pengendalian kesilapan tidak boleh dilakukan, sedangkan ia boleh dilakukan dalam prosedur tersimpan. • Parameter input dan output boleh diluluskan dalam prosedur manakala dalam hal fungsi; hanya parameter input yang boleh diluluskan. • Fungsi boleh dipanggil dari prosedur manakala tidak mungkin untuk memanggil prosedur dari fungsi. • Pengurusan urus niaga boleh dipertimbangkan dalam prosedur dan ia tidak boleh dipertimbangkan jika berlaku fungsi. |