Rumah  >  Artikel  >  pangkalan data  >  prosedur tersimpan oracle dengan parameter

prosedur tersimpan oracle dengan parameter

WBOY
WBOYasal
2023-05-08 09:25:062353semak imbas

Oracle ialah sistem pengurusan pangkalan data hubungan yang digunakan secara meluas. Dalam Oracle, prosedur tersimpan ialah satu set pernyataan SQL yang telah diproses yang disimpan bersama dan dipanggil dan dilaksanakan dengan satu nama. Prosedur tersimpan boleh digunakan untuk meningkatkan prestasi dan keselamatan pangkalan data anda. Apabila prosedur tersimpan perlu menerima parameter, kita perlu menggunakan prosedur tersimpan dengan parameter.

Prosedur tersimpan dengan parameter ialah jenis prosedur tersimpan khas yang membolehkan pengguna memberikan parameter kepada prosedur tersimpan sebelum melaksanakannya. Parameter ini mungkin nombor, rentetan, tarikh, dsb. Prosedur tersimpan berparameter sangat popular dalam pangkalan data Oracle kerana ia menyediakan kaedah yang pantas dan sangat boleh digunakan semula untuk menyelesaikan operasi data biasa.

Dalam Oracle, sintaks untuk prosedur tersimpan dengan parameter adalah seperti berikut:

CREATE [OR REPLACE] PROCEDURE procedure_name
(parameter_name [IN|OUT] data_type [, …])
IS
BEGIN
    /* Procedure Body */
END;

Dalam sintaks ini, kita boleh melihat tiga elemen utama:

  • procedure_name: The nama prosedur yang disimpan. Ia boleh menjadi sebarang pengecam Oracle yang sah.
  • parameter_name: Nama parameter dalam prosedur tersimpan. Ia juga boleh menjadi sebarang pengecam Oracle yang sah.
  • data_type: Jenis data parameter.

Dalam sintaks ini, kita juga boleh melihat kata kunci IN dan OUT, yang digunakan untuk menentukan arah parameter. IN bermaksud bahawa parameter ialah parameter input, iaitu nilai diberikan kepadanya apabila melaksanakan prosedur tersimpan. OUT menunjukkan bahawa parameter ialah parameter output, iaitu nilai yang dikembalikan selepas prosedur tersimpan dilaksanakan.

Seterusnya, mari buat prosedur tersimpan mudah dengan parameter, di mana terdapat dua parameter input yang mewakili dua nombor, kemudian tambahkannya bersama-sama dan kembalikan hasilnya.

CREATE OR REPLACE PROCEDURE add_two_numbers (num1 IN NUMBER, num2 IN NUMBER, result OUT NUMBER)
IS
BEGIN
    result := num1 + num2;
END;

Dalam contoh ini, kami menggunakan tiga parameter: num1 dan num2 ialah parameter input, dan hasilnya ialah parameter output. Dalam badan prosedur tersimpan, kami menambah num1 dan num2 menggunakan operator penambahan dan menetapkan hasilnya kepada parameter hasil.

Sekarang, mari kita panggil prosedur tersimpan ini dan lihat output:

DECLARE
    num1 NUMBER := 10;
    num2 NUMBER := 20;
    res NUMBER;
BEGIN
    add_two_numbers(num1, num2, res);
    DBMS_OUTPUT.PUT_LINE('The sum of ' || num1 || ' and ' || num2 || ' is ' || res);
END;

Dalam kod ini, kami mengisytiharkan tiga pembolehubah: num1, num2 dan res. Kami kemudian menggunakan prosedur tersimpan add_two_numbers untuk memanggil kedua-dua pembolehubah ini dan memberikan hasilnya kepada pembolehubah res. Akhir sekali, kami menggunakan fungsi DBMS_OUTPUT.PUT_LINE untuk mengeluarkan hasil ke terminal.

Apa yang perlu diperhatikan di sini ialah dalam panggilan prosedur tersimpan, kita perlu menghantar nilai kepada prosedur tersimpan dalam susunan parameternya.

Untuk meringkaskan: Prosedur tersimpan dengan parameter adalah fungsi yang sangat berguna dan mudah dalam sistem pengurusan pangkalan data Oracle. Dengan menggunakan prosedur tersimpan dengan parameter, kami boleh menyelesaikan operasi data biasa dengan mudah dan meningkatkan prestasi dan keselamatan sistem pangkalan data. Untuk mencipta prosedur tersimpan dengan parameter, kita perlu menentukan nama prosedur tersimpan, nama dan jenis data parameter. Juga, dalam panggilan prosedur tersimpan, kita perlu menghantar nilai kepada parameter prosedur tersimpan dalam susunannya.

Atas ialah kandungan terperinci prosedur tersimpan oracle dengan parameter. 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