Rumah > Artikel > Operasi dan penyelenggaraan > Perbincangan mendalam tentang kaedah penetapan parameter bagi prosedur tersimpan panggilan Oracle
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, ... )
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, ... )
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, ... )
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, ...)
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;
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
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!