Rumah >pangkalan data >Oracle >Bagaimana untuk memberikan nilai kepada pembolehubah dalam prosedur tersimpan Oracle

Bagaimana untuk memberikan nilai kepada pembolehubah dalam prosedur tersimpan Oracle

PHPz
PHPzasal
2023-04-04 10:40:225053semak imbas

Prosedur tersimpan Oracle ialah teknologi dalam pangkalan data Oracle yang digunakan untuk menyimpan dan mengurus kod operasi pangkalan data. Prosedur tersimpan ialah kepingan kod SQL yang telah disusun terlebih dahulu yang boleh ditulis dan diselenggara oleh pentadbir pangkalan data atau pembangun. Dalam prosedur tersimpan Oracle, pembolehubah adalah komponen yang sangat penting. Dalam artikel ini, kami akan memberi tumpuan kepada cara menetapkan nilai kepada pembolehubah dalam prosedur tersimpan Oracle.

Pembolehubah dalam prosedur tersimpan Oracle

Dalam prosedur tersimpan Oracle, pembolehubah ialah set unit memori yang boleh digunakan untuk menyimpan nilai atau set nilai. Nama pembolehubah adalah unik dan mesti mengikut peraturan penamaan pengecam. Dalam prosedur tersimpan Oracle, terdapat banyak jenis pembolehubah. Berikut ialah beberapa jenis pembolehubah yang biasa digunakan dalam prosedur tersimpan Oracle:

  1. CHAR: digunakan untuk menyimpan data aksara panjang tetap.
  2. VARCHAR2: digunakan untuk menyimpan data aksara panjang berubah-ubah.
  3. NOMBOR: digunakan untuk menyimpan data berangka.
  4. BOOLEAN: Nilai Boolean digunakan untuk menyimpan benar/salah.
  5. TARIKH: Digunakan untuk menyimpan data tarikh dan masa.
  6. JADUAL: digunakan untuk menyimpan jenis data koleksi.
  7. KURSOR RUJUK: digunakan untuk menyimpan pembolehubah kursor.

Menetapkan nilai kepada pembolehubah

Prosedur tersimpan Oracle boleh menetapkan nilai kepada pembolehubah dalam pelbagai cara. Kaedah biasa termasuk penetapan langsung, SELECT INTO pernyataan dan parameter passing.

  1. Penugasan langsung

Penugasan langsung ialah cara paling mudah untuk memberikan nilai kepada pembolehubah dalam prosedur tersimpan Oracle. Sintaks penugasan langsung adalah seperti berikut:

variable_name := value;

dengan nama_pembolehubah ialah nama pembolehubah dan nilai ialah nilai pembolehubah. Sebagai contoh, prosedur tersimpan berikut menunjukkan cara untuk menetapkan nilai kepada pembolehubah menggunakan penetapan langsung:

CREATE OR REPLACE PROCEDURE assign_variable
IS
  x VARCHAR2(100);
BEGIN
  x := 'Hello, World!';
  DBMS_OUTPUT.PUT_LINE(x);
END;

Dalam prosedur tersimpan di atas, kami menggunakan pembolehubah x jenis VARCHAR2 dan tetapkan nilai kepada 'Hello , Dunia! '. Kami kemudian menggunakan pernyataan DBMS_OUTPUT.PUT_LINE untuk mengeluarkan nilai pembolehubah.

  1. PILIH KE DALAM penyataan

Penyataan SELECT INTO ialah satu lagi cara yang biasa digunakan untuk menetapkan nilai kepada pembolehubah dalam prosedur tersimpan Oracle. Pernyataan SELECT INTO memilih data daripada jadual pangkalan data dan menyimpan data dalam pembolehubah. Sintaks pernyataan SELECT INTO adalah seperti berikut:

SELECT column_name(s) INTO variable_name(s) FROM table_name WHERE condition;

Antaranya, column_name(s) ialah nama lajur yang akan dipilih daripada jadual atau fungsi SQL yang akan dilaksanakan. variable_name(s) ialah nama pembolehubah yang perlu menyimpan nilai lajur atau nilai pulangan fungsi. table_name ialah nama jadual yang memerlukan nilai, dan syarat ialah klausa WHERE pilihan. Sebagai contoh, prosedur tersimpan berikut menunjukkan cara menggunakan pernyataan SELECT INTO untuk menetapkan nilai kepada pembolehubah:

CREATE OR REPLACE PROCEDURE get_employee_name
IS
  emp_name VARCHAR2(100);
BEGIN
  SELECT first_name INTO emp_name FROM employees WHERE employee_id = 100;
  DBMS_OUTPUT.PUT_LINE('Employee name is ' || emp_name);
END;

Dalam prosedur tersimpan di atas, kami menggunakan pembolehubah jenis VARCHAR2 emp_name dan mendapatkan pekerja dengan employee_id 100 daripada data first_name jadual pekerja dan simpan nilai ke dalam pembolehubah emp_name. Kami kemudian menggunakan pernyataan DBMS_OUTPUT.PUT_LINE untuk mengeluarkan nilai pembolehubah.

  1. Hantaran parameter

Harian parameter ialah satu lagi cara biasa untuk menetapkan nilai kepada pembolehubah dalam prosedur tersimpan Oracle. Lulus parameter merujuk kepada pembolehubah lulus sebagai parameter input atau parameter output prosedur tersimpan. Parameter input prosedur tersimpan digunakan untuk menghantar nilai kepada prosedur tersimpan, dan parameter output digunakan untuk menghantar nilai dari prosedur tersimpan kembali ke program panggilan. Sintaks untuk pemindahan parameter adalah seperti berikut:

PROCEDURE procedure_name(param1 IN datatype1, param2 OUT datatype2)

Antaranya, param1 ialah parameter input dan param2 ialah parameter output. datatype1 dan datatype2 ialah jenis data parameter input dan parameter output, contohnya, VARCHAR2, NUMBER, dsb. Sebagai contoh, prosedur tersimpan berikut menunjukkan cara menggunakan hantaran parameter untuk menetapkan nilai kepada pembolehubah:

CREATE OR REPLACE PROCEDURE add_numbers (
          x IN NUMBER,
          y IN NUMBER,
          z OUT NUMBER)
IS
BEGIN
          z := x + y;
END;

Dalam prosedur tersimpan di atas, kami mentakrifkan tiga pembolehubah x, y, z, di mana x, y ialah parameter input, z ialah parameter output. Prosedur tersimpan memperuntukkan jumlah x dan y kepada z dan menghantar nilai z kembali ke program panggilan.

Ringkasan

Artikel ini memfokuskan pada cara menetapkan nilai kepada pembolehubah dalam prosedur tersimpan Oracle. Dalam prosedur tersimpan Oracle, pembolehubah adalah komponen yang sangat penting. Pembolehubah datang dalam pelbagai jenis, dan pembolehubah boleh diberikan nilai dalam pelbagai cara. Penggunaan pembolehubah yang cekap boleh memberikan sokongan yang kuat untuk menulis prosedur tersimpan.

Atas ialah kandungan terperinci Bagaimana untuk memberikan nilai kepada pembolehubah dalam prosedur tersimpan Oracle. 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