Rumah > pangkalan data > Oracle > teks badan

Oracle pilih prosedur tersimpan

PHPz
Lepaskan: 2023-05-13 14:19:37
asal
801 orang telah melayarinya

Oracle ialah sistem pengurusan pangkalan data hubungan dengan fungsi yang berkuasa dan fleksibiliti yang boleh mengendalikan sejumlah besar data. Dalam Oracle, prosedur tersimpan ialah objek pangkalan data yang boleh digunakan semula dan boleh diselenggara Ia adalah satu set pernyataan SQL yang telah ditetapkan yang boleh digunakan untuk melaksanakan tugas tertentu. Antaranya, prosedur tersimpan pilih ialah prosedur tersimpan khas, yang digunakan untuk menanyakan data dalam pangkalan data dan mengembalikan keputusan kepada pemanggil.

Dalam Oracle, prosedur tersimpan pilih ditulis dalam bahasa PL/SQL. PL/SQL ialah gabungan Bahasa Pertanyaan Berstruktur (SQL) dan Bahasa Prosedur (PL). Ia boleh melakukan operasi yang kompleks seperti prosedur tersimpan, pencetus dan fungsi dalam pangkalan data Oracle. Berikut ialah contoh prosedur tersimpan pilih yang mudah:

CREATE OR REPLACE PROCEDURE SP_SELECT_EMPLOYEES
(
    P_EMPLOYEE_ID IN NUMBER,
    P_EMPLOYEE_NAME OUT VARCHAR2,
    P_SALARY OUT NUMBER
)
AS
BEGIN
    SELECT EMPLOYEE_NAME, SALARY
    INTO P_EMPLOYEE_NAME, P_SALARY
    FROM EMPLOYEES
    WHERE EMPLOYEE_ID = P_EMPLOYEE_ID;
END SP_SELECT_EMPLOYEES;
Salin selepas log masuk

Dalam kod di atas, SP_SELECT_EMPLOYEES ialah nama prosedur tersimpan, yang mendapatkan ID pekerja, menanyakan nama dan gaji pekerja dan mengembalikannya kepada pemanggil. Prosedur tersimpan menerima tiga parameter: P_EMPLOYEE_ID, P_EMPLOYEE_NAME dan P_SALARY. Antaranya, P_EMPLOYEE_ID ialah parameter input, dan P_EMPLOYEE_NAME dan P_SALARY ialah parameter output, yang digunakan untuk mengembalikan hasil pertanyaan. Apabila prosedur tersimpan dilaksanakan, ia menanyakan jadual PEKERJA untuk EMPLOYEE_NAME dan GAJI yang sepadan dengan EMPLOYEE_ID yang diberikan dan menyimpan keputusan dalam parameter P_EMPLOYEE_NAME dan P_SALARY.

Prosedur tersimpan boleh melakukan operasi pertanyaan dengan memanggilnya, seperti yang ditunjukkan di bawah:

DECLARE
    V_EMPLOYEE_ID NUMBER(10);
    V_EMPLOYEE_NAME VARCHAR2(50);
    V_SALARY NUMBER(10, 2);
BEGIN
    V_EMPLOYEE_ID := 100; // 假设员工ID为100
    SP_SELECT_EMPLOYEES(V_EMPLOYEE_ID, V_EMPLOYEE_NAME, V_SALARY);
    DBMS_OUTPUT.PUT_LINE('Employee Name: ' || V_EMPLOYEE_NAME);
    DBMS_OUTPUT.PUT_LINE('Salary: ' || V_SALARY);
END;
Salin selepas log masuk

Kod di atas menunjukkan cara memanggil prosedur tersimpan SP_SELECT_EMPLOYEES dan mencetak hasilnya ke konsol. Ambil perhatian bahawa parameter prosedur tersimpan hanya boleh diluluskan melalui rujukan. Dalam contoh di atas, parameter output prosedur tersimpan (P_EMPLOYEE_NAME dan P_SALARY) dirujuk oleh pembolehubah pemanggil (V_EMPLOYEE_NAME dan V_SALARY).

Kelebihan menggunakan prosedur tersimpan pilih ialah ia boleh mengurangkan kerumitan kod dan meningkatkan prestasi pangkalan data. Apabila kita perlu melaksanakan pertanyaan yang sama beberapa kali, kita boleh menulis pernyataan pertanyaan sebagai prosedur tersimpan untuk kegunaan berulang. Dengan cara ini, kita boleh mengelak daripada menulis kod berulang yang panjang dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod tersebut. Selain itu, prosedur tersimpan boleh mengekalkan ketekalan dan keselamatan data kerana prosedur tersimpan boleh mengawal capaian kepada pangkalan data.

Ringkasnya, prosedur tersimpan pilih adalah salah satu fungsi berkuasa dalam pangkalan data Oracle. Ia boleh membantu kami memudahkan pertanyaan SQL dan meningkatkan kebolehbacaan kod, kebolehselenggaraan dan kebolehgunaan semula kod. Selain itu, prosedur tersimpan juga boleh membantu kami mengekalkan ketekalan dan keselamatan data. Oleh itu, apabila kita perlu melakukan operasi pertanyaan yang kompleks, adalah pilihan yang baik untuk mempertimbangkan menggunakan prosedur tersimpan pilih.

Atas ialah kandungan terperinci Oracle pilih prosedur tersimpan. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan