Prosedur tersimpan ialah satu set pernyataan SQL yang dipratentukan yang boleh dipanggil berbilang kali semasa pelaksanaan. Ia seperti templat di mana anda boleh menentukan parameter dan logik tertentu yang akan dilaksanakan setiap kali ia dipanggil. Pangkalan data Oracle menyokong prosedur tersimpan Di bawah kami akan memperkenalkan cara menulis pernyataan SQL prosedur tersimpan Oracle.
Untuk mencipta prosedur tersimpan Oracle, anda perlu menggunakan kenyataan CREATE PROCEDURE. Sintaksnya adalah seperti berikut:
CIPTA PROSEDUR procedure_name(parameter1 datatype, parameter2 datatype, parameter3 datatype, ...)
IS
-- Variable deklarasi
MULA
- - SQL bagi Penyata prosedur tersimpan
-- boleh mengandungi pernyataan bersyarat, pernyataan gelung, dsb.
TAMAT;
Apabila membuat prosedur tersimpan, anda perlu menentukan parameter prosedur tersimpan. Dalam senarai parameter, anda perlu menentukan nama, jenis data dan panjang setiap parameter. Berikut ialah contoh:
BUAT PROSEDUR get_employee_details (id_pekerja DALAM NOMBOR, nama_pekerja KELUAR VARCHAR2, NOMBOR_gaji_pekerja)
IS
BERMULA
PILIH nama terakhir_pekerja KE DALAM nama_pekerja
DARI pekerja
WHERE employee_id = get_employee_details.employee_id;
END;
Dalam contoh ini, kami mentakrifkan tiga parameter: id_pekerja, nama_pekerja dan gaji_pekerja. id_pekerja ialah parameter input, manakala nama_pekerja dan gaji_pekerja ialah kedua-dua parameter keluaran.
Pernyataan SQL dalam prosedur tersimpan boleh termasuk pernyataan bersyarat dan pernyataan gelung, dsb. Berikut ialah contoh prosedur tersimpan dengan gelung dan pernyataan bersyarat:
BUAT PROSEDUR get_top_employees (top_n DALAM BILANGAN)
IS
-- Pengisytiharan berubah
jumlah_gaji BIL;
BERMULA
PILIH JUMLAH(gaji) KE DALAM jumlah_gaji DARIPADA pekerja;
-- Kira purata gaji
ISYTIHKAN
avg_salary NUMBER;
MULAI
avg_salary := total_salary / top_n; -- 查找工资大于平均值的前 N 名员工 FOR r IN (SELECT * FROM employees WHERE salary > avg_salary ORDER BY salary DESC) LOOP -- 输出结果 DBMS_OUTPUT.PUT_LINE('Employee ID: ' || r.employee_id || ', Name: ' || r.last_name || ', Salary: ' || r.salary); END LOOP;
END;
TAMAT;
Dalam contoh ini, kami merumuskan gaji semua pekerja dan kemudian mengira gaji purata. Seterusnya, kita dapati pekerja N teratas yang gajinya lebih besar daripada purata dan mengeluarkan hasilnya.
Secara keseluruhannya, mencipta pernyataan SQL prosedur tersimpan Oracle tidaklah sukar. Anda boleh menggabungkan pelbagai pernyataan SQL dan logik program secara fleksibel mengikut keperluan khusus untuk melaksanakan logik perniagaan yang kompleks.
Atas ialah kandungan terperinci Bagaimana untuk menulis pernyataan SQL untuk prosedur tersimpan Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!