Perbincangan mendalam tentang kaedah penetapan parameter bagi prosedur tersimpan panggilan Oracle

PHPz
Lepaskan: 2023-04-17 14:06:16
asal
1796 orang telah melayarinya

Memanggil prosedur tersimpan dalam pangkalan data Oracle ialah teknologi operasi pangkalan data biasa dan sering digunakan dalam aplikasi praktikal. Apabila menggunakan pangkalan data Oracle untuk memanggil prosedur tersimpan, parameter perlu ditetapkan untuk memenuhi keperluan. Artikel ini akan menyelidiki kaedah tetapan parameter bagi prosedur tersimpan panggilan Oracle.

1. Definisi prosedur tersimpan

Prosedur tersimpan ialah sekeping kod program bahasa PL/SQL yang disimpan dalam pangkalan data Oracle, digunakan untuk menyelesaikan tugas operasi pangkalan data tertentu. Prosedur tersimpan biasanya dikongsi oleh berbilang aplikasi, yang boleh meningkatkan kecekapan dan keselamatan aplikasi pangkalan data.

2. Parameter prosedur tersimpan

Parameter prosedur tersimpan merujuk kepada pembolehubah yang diserahkan kepada prosedur tersimpan. Parameter boleh dibahagikan kepada tiga jenis: parameter input, parameter output dan parameter input/output.

1. Parameter input

Parameter input digunakan sebagai sumber data input untuk prosedur tersimpan dan boleh digunakan untuk pengiraan dan pemprosesan prosedur tersimpan. Parameter input boleh menjadi sebarang jenis data undang-undang, seperti rentetan, nombor, tarikh, kursor, dsb.

Sintaks untuk mentakrifkan parameter input dalam prosedur tersimpan adalah seperti berikut:

CREATE PROCEDURE procedure_name(
   input_parameter1 datatype,
   input_parameter2 datatype,
   ...
)
Salin selepas log masuk

Di mana, datatype ialah jenis data bagi parameter input, dan input_parameter1 ialah nama parameter input . Berbilang parameter input dipisahkan dengan koma.

2. Parameter output

Parameter output ialah hasil pemprosesan prosedur tersimpan, dan hasil pemprosesan dikembalikan kepada pemanggil melalui parameter output. Parameter output boleh terdiri daripada sebarang jenis data, seperti rentetan, nombor, tarikh, kursor, dsb.

Sintaks untuk mentakrifkan parameter output dalam prosedur tersimpan adalah seperti berikut:

CREATE PROCEDURE procedure_name(
   output_parameter1 OUT datatype,
   output_parameter2 OUT datatype,
   ...
)
Salin selepas log masuk

Antaranya, kata kunci OUT menunjukkan bahawa parameter ialah parameter output. datatype ialah jenis data parameter output, dan output_parameter1 ialah nama parameter output. Berbilang parameter output dipisahkan dengan koma.

3. Parameter input/output

Parameter input/output digunakan untuk menghantar data dan mengembalikan hasil pemprosesan. Sintaks untuk mentakrifkan parameter input/output dalam prosedur tersimpan adalah seperti berikut:

CREATE PROCEDURE procedure_name(
   in_out_parameter1 IN OUT datatype,
   in_out_parameter2 IN OUT datatype,
   ...
)
Salin selepas log masuk

Antaranya, kata kunci IN menunjukkan bahawa parameter adalah parameter input, dan kata kunci OUT menunjukkan bahawa parameter adalah parameter keluaran. datatype ialah jenis data parameter input/output, in_out_parameter1 ialah nama parameter input/output. Parameter input/output berbilang dipisahkan dengan koma.

3. Memanggil prosedur tersimpan

Apabila menggunakan pangkalan data Oracle untuk memanggil prosedur tersimpan, anda perlu menetapkan parameter untuk prosedur tersimpan. Berikut ialah sintaks untuk Oracle memanggil prosedur tersimpan:

EXECUTE procedure_name(input_parameter1, input_parameter2, ..., output_parameter1, output_parameter2, ...)
Salin selepas log masuk

Antaranya, EXECUTE ialah kata kunci untuk melaksanakan prosedur tersimpan, procedure_name ialah nama prosedur tersimpan, input_parameter1, input_parameter2, dsb. ialah parameter input, parameter_keluaran1, parameter_keluaran2, dsb. ialah parameter keluaran.

Perlu diambil perhatian bahawa apabila memanggil prosedur tersimpan, parameter mesti dihantar mengikut urutan mengikut susunan parameter yang ditakrifkan oleh prosedur tersimpan, dan parameter output perlu selepas parameter input, jika tidak, panggilan akan gagal.

4. Contoh

Berikut ialah contoh prosedur tersimpan Oracle yang mudah, yang digunakan untuk mengisih dan mengeluarkan data dalam jadual daripada kecil kepada besar mengikut harga:

CREATE OR REPLACE PROCEDURE sort_table(
   input_table_name IN VARCHAR2,
   output_cursor OUT SYS_REFCURSOR
)
IS
BEGIN
   OPEN output_cursor FOR
      SELECT * FROM input_table_name ORDER BY price ASC;
END;
Salin selepas log masuk

Apabila memanggil prosedur tersimpan ini, anda perlu menghantar nama jadual dan kursor output:

VAR my_cursor REFCURSOR
EXECUTE sort_table('my_table', :my_cursor)
PRINT my_cursor
Salin selepas log masuk

Pernyataan di atas akan mengisih data dalam jadual my_table mengikut harga dari kecil ke besar, dan simpan ia dalam kursor bernama my_cursor Dan keluarkan semua data yang diisih.

5. Ringkasan

Oracle perlu menetapkan parameter apabila memanggil prosedur tersimpan, yang boleh dicapai melalui parameter input, parameter output dan parameter input/output. Apabila memanggil prosedur tersimpan, parameter perlu diluluskan mengikut susunan mengikut susunan parameter yang ditakrifkan oleh prosedur tersimpan. Artikel ini menyediakan pengenalan terperinci kepada kaedah penetapan parameter prosedur tersimpan panggilan Oracle. Saya harap ia akan membantu pembaca.

Atas ialah kandungan terperinci Perbincangan mendalam tentang kaedah penetapan parameter bagi prosedur tersimpan panggilan 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!