Rumah  >  Artikel  >  pangkalan data  >  Artikel yang memperkenalkan sintaks prosedur tersimpan Oracle

Artikel yang memperkenalkan sintaks prosedur tersimpan Oracle

PHPz
PHPzasal
2023-04-04 10:39:501780semak imbas

Oracle ialah sistem pengurusan pangkalan data hubungan dengan fungsi prosedur tersimpan yang berkuasa. Sebagai pembangun, hanya dengan menguasai sintaks prosedur tersimpan kita boleh mencapai operasi pangkalan data yang cekap, mudah dan selamat mengikut keperluan perniagaan. Artikel ini akan memperkenalkan sintaks prosedur tersimpan Oracle.

1. Pengenalan kepada prosedur tersimpan

Dalam Oracle, prosedur tersimpan ialah objek pangkalan data, iaitu satu siri pernyataan SQL dan struktur kawalan yang ditulis dalam bahasa PL/SQL. Ia adalah program boleh guna semula yang merangkum berbilang pernyataan SQL, yang boleh melaksanakan logik perniagaan yang kompleks dan meningkatkan kecekapan operasi pangkalan data.

Prosedur tersimpan mempunyai ciri-ciri berikut:

  1. boleh menerima parameter input dan juga boleh mengembalikan parameter output
  2. Boleh melaksanakan berbilang pernyataan SQL dalam satu transaksi
  3. Disimpan pada pelayan Oracle dan boleh dikongsi oleh berbilang aplikasi
  4. Boleh dilaksanakan apabila dipanggil, atau boleh dilaksanakan selepas prakompilasi

2. Penciptaan dan penciptaan prosedur tersimpan Laksanakan

Dalam Oracle, anda perlu menggunakan pernyataan CREATE PROCEDURE untuk mencipta prosedur tersimpan Sintaks adalah seperti berikut:

CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter1 [IN. |. KELUAR |. KELUAR] jenis1, [parameter2 [KELUAR] | .

procedure_name mewakili nama prosedur yang disimpan.

parameter mewakili parameter input atau output prosedur yang disimpan, dan mungkin terdapat berbilang.

jenis menunjukkan jenis parameter, termasuk VARCHAR2, NOMBOR, TARIKH, dsb.

IS menunjukkan bahawa proses yang disimpan secara rasmi memulakan pelaksanaan.
  1. Antara BEGIN dan END ialah bahagian utama prosedur tersimpan, yang boleh menjadi pernyataan SQL atau kod PL/SQL.
  2. Sebagai contoh, berikut ialah prosedur tersimpan mudah:
  3. BUAT ATAU GANTIKAN PROSEDUR HelloWorld
  4. IS
  5. BERMULA
  6. DBMS_OUTPUT.PUT_LINE('Hello, World !' ;prosedur_name;
  7. Contohnya:
LAKSANAKAN HelloWorld;

atau:


EXEC HelloWorld;

3. Pembolehubah dalam prosedur tersimpan dan struktur Kawalan

Dalam prosedur tersimpan, pembolehubah dan struktur kawalan boleh digunakan untuk melaksanakan logik perniagaan yang lebih kompleks.

Pembolehubah

Pembolehubah dalam Oracle mempunyai jenis berikut:

CHAR dan VARCHAR2: digunakan untuk menyimpan aksara dan rentetan.

NOMBOR: digunakan untuk menyimpan jenis angka.

TARIKH: digunakan untuk menyimpan jenis tarikh dan masa.

Sintaks untuk mengisytiharkan pembolehubah adalah seperti berikut:

DECLARE

variable_name variable_type [NOT NULL] [:= value];

    Contohnya:
  1. ISYTIHKAN
nombor v_emp_id := 1001;

v_emp_name VARCHAR2(20) := 'John';

v_gaji NOMBOR(6,2);
  • Kawalan struktur
  • Oracle menyokong pelbagai struktur kawalan, termasuk IF, CASE, LOOP, dll.
Pernyataan IF digunakan untuk melaksanakan operasi yang berbeza berdasarkan keadaan Sintaksnya adalah seperti berikut:

IF condition THEN

pernyataan;
[ELSIF condition THEN

statements; ]

[ELSE

penyata;]

END JIKA;

Contohnya:

JIKA v_gaji > 5000 MAKA
    v_bonus := v_gaji * 0.1; 🎜>ELSIF v_gaji > 3000 THEN
  1. v_bonus := v_gaji * 0.05;
  2. ELSE
v_bonus := 0;

END JIKA;

penyata nilai KES digunakan berdasarkan nilai ungkapan yang berbeza Untuk melaksanakan operasi yang berbeza, sintaksnya adalah seperti berikut:

Ungkapan KES
WHEN value1 THEN
pernyataan;
WHEN value2 THEN
pernyataan;
...
[ELSE

kenyataan;]

TAMAT KES;

Contohnya:

KES v_gred
BILA 'A' MAKA
v_gpa := 4.0;
BILA 'B' MAKA
v_gpa := 3.0;

ELSE

v_gpa := 2.0;

END CASE;


Pernyataan LOOP digunakan untuk melakukan operasi tertentu secara berulang kali LOOP; LOOP
v_total := v_total + v_gaji;
KELUAR APABILA v_gaji = 0;
TAMAT LOOP;

4 gunakan kod PL/SQL atau pernyataan SQL untuk memanggil prosedur tersimpan. Contohnya:

Panggilan kod PL/SQL:

ISYTIHKAN
v_emp_name VARCHAR2(20);
MULAKAN
GET_EMPLOYEE_NAME(1001), v_emp_name ;
DBMS_OUTPUT.PUT_LINE('Nama pekerja ialah ' || v_emp_name);
END;

Panggilan pernyataan SQL:

SQL>._NAME VARC_emp; ( 20);
SQL> EXECUTE GET_EMPLOYEE_NAME(1001, :v_emp_name);
SQL> CETAK v_emp_name;

Ringkasan

melalui artikel ini Sintaks prosedur tersimpan Oracle, termasuk penciptaan dan pelaksanaan prosedur tersimpan, penggunaan pembolehubah dan struktur kawalan, dan penggunaan prosedur tersimpan. Sebagai pembangun, menguasai sintaks ini boleh meningkatkan kecekapan operasi pangkalan data dengan banyak.

Atas ialah kandungan terperinci Artikel yang memperkenalkan sintaks 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