Perbezaan antara Prosedur dan Fungsi dalam Pengaturcaraan

Anonim

Prosedur vs Fungsi dalam Pemrograman

Prosedur dan Fungsi dalam pengaturcaraan, membolehkan pengatur cara untuk mengumpulkan arahan bersama dalam satu blok dan ia boleh dipanggil dari pelbagai tempat dalam program ini. Kod ini menjadi lebih mudah difahami dan lebih padat. Dengan melaksanakan pengubahsuaian di satu tempat, seluruh 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-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 atau rekod pertama dari pangkalan data. Ia mengambil kira kandungan untuk bidang khusus yang bermula dengan aksara tersebut.

Sintaks fungsi adalah seperti berikut:

CREATE OR REPLACE FUNCTION my_func

(p_name IN VARCHAR2: = 'Jack') return varchar2 as begin … end

?

Prosedur boleh menerima parameter atau hujah dan mereka menjalankan tugas seperti parameter ini. Sekiranya prosedur 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:

CREATE OR REPLACE PRINTED my_proc

(p_name IN VARCHAR2: = 'Jack') sebagai bermula … hujung

Terutama, terdapat dua cara yang parameternya diluluskan dalam fungsi dan prosedur; dengan nilai atau dengan 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 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 dari pangkalan data.

• Prosedur mampu mengembalikan beberapa 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 dapat 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 sedangkan tidak mungkin untuk memanggil prosedur dari fungsi.

• Pengurusan urus niaga boleh dipertimbangkan dalam prosedur dan ia tidak boleh dipertimbangkan jika berlaku fungsi.