Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Mengembalikan Berbilang Set Keputusan daripada Prosedur Tersimpan Oracle PL/SQL?

Bagaimanakah Saya Boleh Mengembalikan Berbilang Set Keputusan daripada Prosedur Tersimpan Oracle PL/SQL?

Mary-Kate Olsen
Lepaskan: 2024-12-31 08:56:09
asal
415 orang telah melayarinya

How Can I Return Multiple Result Sets from Oracle PL/SQL Stored Procedures?

Mengembalikan Set Rekod Berbilang daripada Prosedur Tersimpan dalam Oracle PL/SQL

Apabila bekerja dengan prosedur tersimpan dalam Oracle PL/SQL, mengembalikan beberapa set rekod berdasarkan hujah yang disediakan boleh menjadi keperluan biasa. Begini cara anda boleh mencapainya:

Mencipta Fungsi untuk Mengembalikan Set Hasil

Untuk mencipta fungsi yang mengembalikan set hasil, kita boleh menentukan jenis tersuai kepada mewakili objek yang ingin kami kembalikan dan kemudian mengisytiharkan jadual jenis itu dalam fungsi. Jadual ini akan diisi secara dinamik berdasarkan hujah yang dihantar kepada fungsi.

Pertimbangkan contoh berikut:

CREATE TYPE emp_obj AS OBJECT (empno NUMBER, ename VARCHAR2(10));
CREATE TYPE emp_tab AS 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;
Salin selepas log masuk

Menyoal Set Keputusan

Setelah fungsi dicipta, anda boleh menanyakan set hasil yang dikembalikan seolah-olah ia adalah jadual. Sebagai contoh, pertanyaan berikut akan memaparkan semua pekerja:

SELECT * FROM table (all_emps);
Salin selepas log masuk

Ini akan mengembalikan senarai semua pekerja, termasuk nombor dan nama pekerja mereka.

Memanggil Fungsi dari Plain SQL

Untuk memanggil fungsi dari SQL biasa, hanya gunakan yang berikut sintaks:

SELECT * FROM all_emps;
Salin selepas log masuk

Ini akan melaksanakan fungsi dan mengembalikan set hasil.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengembalikan Berbilang Set Keputusan daripada Prosedur Tersimpan Oracle PL/SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan