Rumah > pangkalan data > Oracle > Cara membuat panggilan dengan parameter dalam prosedur tersimpan Oracle

Cara membuat panggilan dengan parameter dalam prosedur tersimpan Oracle

PHPz
Lepaskan: 2023-04-25 09:29:30
asal
1954 orang telah melayarinya

Prosedur tersimpan Oracle ialah pernyataan SQL yang telah disusun dan boleh diguna semula yang disimpan dalam pangkalan data dan boleh dilaksanakan dan dipanggil pada bila-bila masa. Dalam prosedur tersimpan Oracle, anda boleh menggunakan parameter untuk mencapai panggilan yang lebih fleksibel. Artikel ini menerangkan cara menggunakan parameter dalam panggilan prosedur tersimpan Oracle.

Buat prosedur tersimpan dan tentukan parameter

Dalam pangkalan data Oracle, mencipta prosedur tersimpan memerlukan penggunaan pernyataan CREATE PROCEDURE. Berikut ialah contoh mudah:

CREATE OR REPLACE PROCEDURE get_employee_details(
    employee_id IN NUMBER,
    employee_name OUT VARCHAR2,
    hire_date OUT DATE,
    salary OUT NUMBER
)
AS
BEGIN
    SELECT e.employee_name, e.hire_date, e.salary 
    INTO employee_name, hire_date, salary
    FROM employees e
    WHERE e.employee_id = employee_id;
END;
Salin selepas log masuk

Kod di atas mencipta prosedur tersimpan bernama get_employee_details, yang mempunyai empat parameter: employee_id (parameter input jenis IN), employee_name, hire_date dan salary (parameter output jenis OUT). Fungsi prosedur tersimpan adalah untuk menanyakan maklumat terperinci pekerja berdasarkan parameter employee_id dan menyimpan hasil pertanyaan dalam parameter output.

Panggil prosedur tersimpan

Apabila prosedur tersimpan berjaya dibuat, anda boleh menggunakan pernyataan EXECUTE untuk memanggilnya. Berikut ialah kod yang memanggil prosedur tersimpan:

DECLARE
    emp_name VARCHAR2(50);
    emp_hire_date DATE;
    emp_salary NUMBER;
BEGIN
    get_employee_details(101, emp_name, emp_hire_date, emp_salary);
    DBMS_OUTPUT.PUT_LINE('Employee Name : ' || emp_name);
    DBMS_OUTPUT.PUT_LINE('Hire Date : ' || emp_hire_date);
    DBMS_OUTPUT.PUT_LINE('Salary : ' || emp_salary);
END;
Salin selepas log masuk

Dalam kod di atas, tiga pembolehubah emp_name, emp_hire_date dan emp_salary mula-mula diisytiharkan, dan kemudian prosedur tersimpan dipanggil oleh get_employee_details dan lulus Masukkan parameter 101, dan tetapkan parameter output kepada pembolehubah yang diisytiharkan di atas. Akhir sekali, gunakan fungsi DBMS_OUTPUT dalam pakej PUT_LINE untuk mengeluarkan hasil pertanyaan.

Perlu diambil perhatian bahawa pernyataan DECLARE dan BEGIN adalah perlu kerana ia menunjukkan permulaan dan penghujung blok kod. Dalam blok kod, anda boleh mengisytiharkan pembolehubah, memanggil prosedur tersimpan, melaksanakan pelbagai pernyataan SQL, dsb.

Jenis parameter

Apabila mentakrifkan parameter prosedur tersimpan, anda boleh menggunakan jenis berikut:

  • IN: Mewakili parameter input, yang digunakan untuk memberikan nilai Pas dalam prosedur tersimpan.
  • OUT: Mewakili parameter output, yang digunakan untuk mengembalikan nilai daripada prosedur yang disimpan.
  • IN OUT: Menunjukkan bahawa ia adalah kedua-dua parameter input dan parameter output. Parameter ini boleh menghantar nilai kepada dan mengembalikan nilai daripada prosedur yang disimpan.

Selain jenis di atas, anda juga boleh menggunakan kata kunci NOCOPY untuk menentukan parameter, yang boleh mengelakkan penyalinan memori semasa pemindahan parameter, dengan itu meningkatkan kecekapan pelaksanaan.

Senario Aplikasi

Dalam pembangunan sebenar, panggilan parameter bagi prosedur tersimpan adalah sangat biasa dan ia boleh digunakan dalam berbilang senario. Berikut ialah beberapa senario aplikasi biasa:

  • Pertanyaan berparameter: Dalam prosedur tersimpan, parameter input boleh ditakrifkan supaya prosedur tersimpan boleh melaksanakan penyataan pertanyaan yang berbeza berdasarkan parameter input yang berbeza, dengan itu mencapai Pertanyaan parameterisasi .
  • Operasi kelompok: Dalam proses yang disimpan, anda boleh menentukan parameter input dan parameter output, supaya proses yang disimpan boleh melakukan operasi kelompok berdasarkan parameter input, dan pada masa yang sama menyimpan hasil pemprosesan dalam output parameter, mengurangkan bilangan operasi berikutnya.
  • Pemprosesan urus niaga: Dalam prosedur tersimpan, parameter input boleh digunakan untuk mengawal penyerahan atau pemulangan urus niaga, dengan itu mencapai kaedah pemprosesan transaksi yang lebih fleksibel.

Ringkasan

Artikel ini memperkenalkan kaedah menggunakan panggilan parameter dalam prosedur tersimpan Oracle. Lazimnya, panggilan berparameter ke prosedur tersimpan boleh meningkatkan kebolehgunaan semula dan fleksibiliti kod dengan banyak, serta boleh menyediakan aplikasi dengan fungsi yang lebih fleksibel. Oleh itu, dalam pembangunan sebenar, panggilan parameter bagi prosedur tersimpan harus digunakan sepenuhnya untuk meningkatkan prestasi sistem dan kebolehselenggaraan.

Atas ialah kandungan terperinci Cara membuat panggilan dengan parameter dalam prosedur tersimpan Oracle. 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