Rumah >pangkalan data >tutorial mysql >Bagaimanakah Prosedur Tersimpan Oracle PL/SQL Dapat Mengembalikan Berbilang Set Keputusan?
Prosedur Tersimpan dengan Berbilang Set Hasil dalam Oracle PL/SQL
Dalam Oracle PL/SQL, prosedur tersimpan boleh dibuat untuk mengembalikan berbilang hasil set berdasarkan hujah yang berbeza. Ini boleh meningkatkan fleksibiliti pertanyaan dan membolehkan pengambilan data yang cekap. Untuk mencapai matlamat ini, konsep jadual bersarang, juga dikenali sebagai jenis koleksi, dimainkan.
Pertimbangkan senario di mana anda memerlukan prosedur tersimpan untuk mendapatkan semula rekod pekerja secara dinamik berdasarkan kriteria yang dibekalkan pengguna. Begini cara anda boleh mendekatinya:
Berikut ialah contoh pelaksanaan:
TYPE emp_obj IS OBJECT (empno NUMBER, ename VARCHAR2(10)); TYPE emp_tab IS TABLE OF emp_obj; CREATE OR REPLACE FUNCTION all_emps RETURN emp_tab IS l_emp_tab emp_tab := emp_tab(); n INTEGER := 0; BEGIN FOR r IN (SELECT empno, ename FROM emp) LOOP l_emp_tab.extend; n := n + 1; l_emp_tab(n) := emp_obj(r.empno, r.ename); END LOOP; RETURN l_emp_tab; END;
Kini, anda boleh melaksanakan prosedur tersimpan ini dalam SQL biasa:
SELECT * FROM TABLE(all_emps);
Pertanyaan ini akan kembali set hasil yang dijana secara dinamik dengan berbilang baris, di mana setiap baris mewakili objek pekerja.
Atas ialah kandungan terperinci Bagaimanakah Prosedur Tersimpan Oracle PL/SQL Dapat Mengembalikan Berbilang Set Keputusan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!