Membezakan Fungsi daripada Prosedur dalam PL/SQL
Apabila bekerja dengan PL/SQL, memahami perbezaan asas antara fungsi dan prosedur adalah penting. Walaupun kedua-duanya digunakan untuk meningkatkan kebolehgunaan semula kod, ia berbeza dengan ketara dalam tujuan utamanya.
Prosedur: Tiada Nilai Pulangan Eksplisit
Sesuatu prosedur tidak mengembalikan nilai secara eksplisit . Fungsi utamanya ialah untuk melaksanakan satu siri pernyataan SQL, mengemas kini pembolehubah atau melaksanakan operasi lain tanpa mengembalikan sebarang data tertentu.
Fungsi: Nilai Pulangan Eksplisit
Sebaliknya , fungsi mempunyai nilai pulangan yang jelas. Ia mengira dan mengembalikan nilai tunggal, yang boleh digunakan dalam ungkapan, penugasan atau dihantar sebagai parameter kepada fungsi atau prosedur lain.
Fasal Pulangan
Untuk menentukan fungsi, anda menggunakan sintaks "BUAT ATAU GANTIKAN FUNGSI", diikuti dengan klausa pulangan antara senarai parameter dan kata kunci "sebagai". Klausa pemulangan menunjukkan jenis data nilai yang akan dikembalikan oleh fungsi.
Pulangan Penyata Terakhir
Dalam badan fungsi, penyataan terakhir mesti mengandungi "pulangan " kata kunci diikuti dengan nilai yang akan dikembalikan. Nilai ini mesti sepadan dengan jenis data yang dinyatakan dalam klausa pemulangan.
Contoh
Pertimbangkan contoh berikut:
CREATE OR REPLACE PROCEDURE my_proc (p_name IN VARCHAR2 := 'John') AS BEGIN -- Code to update a record or perform other operations ... END; CREATE OR REPLACE FUNCTION my_func (p_name IN VARCHAR2 := 'John') RETURN VARCHAR2 AS BEGIN -- Calculations to compute a VARCHAR2 variable ... RETURN my_varchar2_local_variable; END;
Dalam contoh ini, "my_proc" ialah prosedur yang tidak mengembalikan sebarang nilai eksplisit, manakala "my_func" ialah fungsi yang mengembalikan VARCHAR2 nilai.
Atas ialah kandungan terperinci Fungsi vs. Prosedur dalam PL/SQL: Apakah Perbezaan Utama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!