Rumah > Artikel > pangkalan data > Bagaimana untuk memanggil prosedur tersimpan oracle
Memandangkan saiz aplikasi perusahaan terus berkembang, begitu juga permintaan mereka untuk pemprosesan data. Sebagai salah satu wakil pangkalan data peringkat perusahaan, kelebihan Oracle dalam prosedur tersimpan telah menjadi semakin menonjol. Prosedur tersimpan bukan sahaja dapat meningkatkan kecekapan pelaksanaan pangkalan data, tetapi juga menjadikan pemprosesan data lebih selamat dan lebih dipercayai. Artikel ini akan memperkenalkan cara memanggil prosedur tersimpan Oracle.
1. Apakah prosedur tersimpan Oracle
Prosedur tersimpan Oracle ialah blok PL/SQL, yang boleh dianggap sebagai gabungan pernyataan SQL yang telah disusun sebelumnya. Prosedur tersimpan boleh menerima parameter, melaksanakan logik perniagaan tertentu dan mengembalikan hasil. Berbanding dengan melaksanakan penyataan SQL secara individu, prosedur tersimpan mempunyai kelebihan berikut:
Prosedur tersimpan telah disusun terlebih dahulu, yang bermaksud bahawa Pangkalan Data Oracle akan menyusun Optimumkan prosedur apabila ia disimpan. Apabila prosedur tersimpan dipanggil, pangkalan data tidak perlu disusun semula, sekali gus meningkatkan kecekapan pelaksanaan.
Oleh kerana prosedur tersimpan boleh menerima parameter, operasi yang berbeza boleh dilakukan berdasarkan parameter yang berbeza. Ini menjadikan pemprosesan data lebih selamat dan mengelakkan beberapa isu keselamatan yang berpotensi.
Prosedur tersimpan boleh dipanggil dalam aplikasi, yang menjadikan kod aplikasi lebih ringkas dan logiknya lebih jelas, sekali gus meningkatkan kebolehpercayaan Aplikasi .
2. Kaedah memanggil prosedur tersimpan Oracle
Anda boleh menggunakan blok PL/SQL atau pernyataan SQL untuk memanggil prosedur tersimpan Oracle. Kedua-dua kaedah ini akan diperkenalkan secara berasingan di bawah.
Memanggil prosedur tersimpan Oracle menggunakan blok PL/SQL adalah sangat mudah. Andaikan prosedur tersimpan berikut:
BUAT ATAU GANTIKAN PROSEDUR get_employee_info (
p_employee_id IN NUMBER, p_employee_name OUT VARCHAR2, p_employee_dept OUT VARCHAR2
) SEBAGAI
BERMULA
SELECT employee_name, department_name INTO p_employee_name, p_employee_dept FROM employee_tbl JOIN department_tbl ON employee_tbl.department_id = department_tbl.department_id WHERE employee_id = p_employee_id;
TAMAT;
Prosedur tersimpan ini boleh menerima ID pekerja sebagai parameter dan mengembalikan nama pekerja dan nama jabatan. Untuk memanggil prosedur tersimpan ini menggunakan blok PL/SQL, anda boleh menggunakan kod berikut:
ISYTIHKAN
v_employee_id NUMBER := 123; v_employee_name VARCHAR2(100); v_employee_dept VARCHAR2(100);
MULAI
get_employee_info( p_employee_id => v_employee_id, p_employee_name => v_employee_name, p_employee_dept => v_employee_dept ); DBMS_OUTPUT.PUT_LINE(v_employee_name || ' works in ' || v_employee_dept);
TAMAT;
Pertama, tiga pembolehubah ditakrifkan menggunakan kata kunci DECLARE: v_employee_id mewakili ID pekerja, v_employee_name mewakili nama pekerja dan v_employee_dept mewakili nama jabatan pekerja. Seterusnya, prosedur tersimpan get_employee_info dipanggil antara BEGIN dan END, dan parameter ditetapkan kepada pembolehubah yang sepadan. Akhir sekali, gunakan DBMS_OUTPUT.PUT_LINE untuk mengeluarkan nama pekerja dan nama jabatan.
Sangat mudah untuk memanggil prosedur tersimpan dalam blok PL/SQL Dengan mentakrifkan pembolehubah dan menetapkan nilai, anda boleh mengembalikan nilai daripada prosedur tersimpan.
Jika anda tidak mahu menulis blok PL/SQL, anda juga boleh menggunakan pernyataan SQL untuk memanggil prosedur tersimpan. Pada masa ini, anda perlu menggunakan kenyataan EXECUTE IMMEDIATE Oracle. Berikut ialah contoh memanggil prosedur tersimpan yang dinyatakan sebelum ini menggunakan pernyataan SQL:
ISYTIHKAN
v_employee_id NUMBER := 123; v_employee_name VARCHAR2(100); v_employee_dept VARCHAR2(100);
MULA
EXECUTE IMMEDIATE 'BEGIN get_employee_info(:1,:2,:3); END;' USING v_employee_id, OUT v_employee_name, OUT v_employee_dept; DBMS_OUTPUT.PUT_LINE(v_employee_name || ' works in ' || v_employee_dept);
TAMAT;
Menggunakan pernyataan SQL perlu menggunakan penyataan LAKUKAN SEGERA untuk memanggil prosedur tersimpan. Selain itu, anda juga perlu menggunakan kata kunci USING untuk menentukan parameter dan menetapkan nilai pulangan prosedur yang disimpan kepada pembolehubah yang sepadan. Akhir sekali, anda boleh menggunakan DBMS_OUTPUT.PUT_LINE untuk mengeluarkan nilai pulangan prosedur yang disimpan.
3. Nota
Apabila memanggil prosedur tersimpan Oracle, anda perlu memberi perhatian kepada perkara berikut:
Sebelum memanggil prosedur tersimpan, prosedur tersimpan perlu dibuat dalam pangkalan data. Jika prosedur tersimpan tidak dibuat, ia tidak boleh dipanggil.
Apabila memanggil prosedur tersimpan, anda perlu memastikan bahawa jenis parameter yang diluluskan sepadan dengan jenis parameter yang ditentukan oleh prosedur tersimpan. Jika tidak, ralat masa jalan akan berlaku.
Apabila memanggil prosedur tersimpan, anda perlu menggunakan pembolehubah untuk menyimpan nilai pulangan prosedur tersimpan. Anda tidak boleh mendapatkan nilai pulangan prosedur tersimpan jika pembolehubah tidak ditakrifkan atau nilai pulangan tidak disimpan dalam pembolehubah.
Apabila menulis prosedur tersimpan, anda harus menambah kod pengendalian ralat. Jika tidak, apabila ralat berlaku dalam prosedur tersimpan, ralat tidak akan ditemui dan dikendalikan dalam masa.
Ringkasan
Memanggil prosedur tersimpan Oracle ialah cara penting untuk meningkatkan kecekapan pangkalan data, keselamatan data dan kebolehpercayaan aplikasi. Artikel ini memperkenalkan kaedah memanggil prosedur tersimpan Oracle menggunakan blok PL/SQL dan pernyataan SQL, dan memberikan langkah berjaga-jaga. Saya harap artikel ini dapat membantu pembaca menggunakan prosedur tersimpan Oracle dengan lebih baik.
Atas ialah kandungan terperinci Bagaimana untuk memanggil prosedur tersimpan oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!