Rumah > pangkalan data > Oracle > teks badan

nilai pulangan prosedur tersimpan oracle

WBOY
Lepaskan: 2023-05-07 22:44:36
asal
2144 orang telah melayarinya

Prosedur tersimpan Oracle ialah bahasa pertanyaan yang berulang kali menjalankan set pernyataan SQL dalam satu blok kod. Kelebihan prosedur tersimpan ialah anda boleh menggunakan semula kod SQL bertulis dan diuji, memudahkan proses penulisan pernyataan SQL dan meningkatkan kecekapan pelaksanaan kod. Tetapi kadang-kadang kita perlu mendapatkan nilai atau hasil tertentu daripada prosedur yang disimpan. Ini memerlukan penggunaan nilai pulangan prosedur tersimpan.

Nilai pulangan prosedur tersimpan boleh menjadi nilai angka, rentetan, tarikh atau nilai Boolean. Nilai pulangan daripada prosedur tersimpan membantu menjadikan kod anda lebih mudah untuk digunakan, boleh dibaca dan boleh digunakan semula.

Nilai pulangan prosedur tersimpan Oracle tidak mempunyai jenis nilai pulangan yang jelas seperti fungsi. Oleh itu, dalam prosedur tersimpan, nilai perlu dihantar kepada program yang memanggilnya melalui parameter OUT atau IN OUT.

Dalam Oracle, nilai pulangan prosedur tersimpan boleh dikembalikan melalui parameter OUT atau OUT. Parameter OUT atau IN OUT membenarkan prosedur tersimpan untuk mengembalikan nilai hasil atau menghantar nilai parameter input kepada prosedur tersimpan, dan membenarkan prosedur tersimpan dan atur cara panggilan berinteraksi berkenaan dengan nilai ini.

Berikut ialah prosedur tersimpan mudah yang mengeluarkan hasil darab dua nilai:

CREATE OR REPLACE PROCEDURE SP_MULTIPLY (input1 IN NUMBER, input2 IN NUMBER, result OUT NUMBER)
AS
BEGIN
   result := input1 * input2;
END;
Salin selepas log masuk

Dalam prosedur tersimpan ini, kami menerima dua parameter input input1 dan input2, dan menambahnya Produk disimpan dalam pembolehubah hasil, yang dikembalikan sebagai parameter OUT.

Prosedur tersimpan dipanggil seperti berikut:

DECLARE
   output NUMBER;
BEGIN
   SP_MULTIPLY(5, 10, output);
   DBMS_OUTPUT.PUT_LINE('The product is ' || output);
END;
Salin selepas log masuk

Apabila memanggil prosedur tersimpan, kita perlu mengisytiharkan keluaran pembolehubah, hantarkannya sebagai parameter OUT kepada prosedur tersimpan SP_MULTIPLY dan simpan hasilnya . Selepas prosedur tersimpan kembali, kami boleh memanggil DBMS_OUTPUT.PUT_LINE untuk mengeluarkan keputusan.

Selain parameter OUT, prosedur tersimpan juga boleh menggunakan parameter IN OUT untuk menukar data antara prosedur tersimpan dan program panggilan. Sebagai contoh, dalam prosedur tersimpan di bawah, kami akan menerima nilai angka sebagai input, menambahkannya pada nilai angka sedia ada dan mengembalikan hasilnya dengan menyimpannya dalam parameter OUT.

CREATE OR REPLACE PROCEDURE SP_ADD (input IN NUMBER, result IN OUT NUMBER)
AS
BEGIN
   result := result + input;
END;
Salin selepas log masuk

Cara untuk memanggil prosedur tersimpan ini adalah seperti berikut:

DECLARE
   output NUMBER := 10;
BEGIN
   SP_ADD(5, output);
   DBMS_OUTPUT.PUT_LINE('The result is ' || output);
END;
Salin selepas log masuk

Semasa memanggil prosedur tersimpan, kami menghantar nilai angka sebagai input dan satu lagi output pembolehubah angka sebagai parameter KELUAR. Selepas prosedur tersimpan dilaksanakan, pembolehubah hasil mengandungi hasil akhir.

Untuk meringkaskan, nilai pulangan prosedur tersimpan boleh dikembalikan melalui parameter KELUAR atau KELUAR. Parameter OUT atau IN OUT membenarkan prosedur tersimpan untuk mengembalikan nilai hasil atau menghantar nilai parameter input kepada prosedur tersimpan, dan membenarkan prosedur tersimpan dan atur cara panggilan berinteraksi berkenaan dengan nilai ini. Apabila menulis prosedur tersimpan, kita perlu memberi perhatian khusus kepada jenis dan kaedah penghantaran parameter untuk menggunakan nilai pulangan prosedur tersimpan dengan betul.

Atas ialah kandungan terperinci nilai pulangan 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!