Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk memanggil prosedur tersimpan oracle

Bagaimana untuk memanggil prosedur tersimpan oracle

PHPz
PHPzasal
2023-04-18 09:06:131712semak imbas

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:

  1. Meningkatkan kecekapan pangkalan data

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.

  1. Tingkatkan keselamatan data

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.

  1. Meningkatkan kebolehpercayaan aplikasi

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.

  1. Memanggil prosedur tersimpan Oracle menggunakan blok PL/SQL

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.

  1. Gunakan pernyataan SQL untuk memanggil prosedur tersimpan Oracle

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:

  1. Prosedur tersimpan mesti dibuat terlebih dahulu

Sebelum memanggil prosedur tersimpan, prosedur tersimpan perlu dibuat dalam pangkalan data. Jika prosedur tersimpan tidak dibuat, ia tidak boleh dipanggil.

  1. Jenis parameter mesti sepadan

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.

  1. Gunakan pembolehubah untuk menyimpan nilai pulangan

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.

  1. Tambah pengendalian ralat dalam prosedur tersimpan

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!

Kenyataan:
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