Rumah  >  Artikel  >  pangkalan data  >  Oracle pilih prosedur tersimpan

Oracle pilih prosedur tersimpan

WBOY
WBOYasal
2023-05-13 14:25:081517semak imbas

Oracle ialah salah satu sistem pengurusan pangkalan data hubungan terkemuka (RDBMS) industri dan digunakan secara meluas dalam pelbagai aplikasi perniagaan yang kompleks. Dalam Oracle, prosedur tersimpan ialah satu set pernyataan SQL yang dipratentukan yang dilaksanakan bersama sebagai satu unit. Oracle pilih prosedur tersimpan ialah jenis prosedur tersimpan yang biasa, terutamanya sesuai untuk senario yang perlu digunakan dalam pertanyaan kompleks. Pengetahuan asas dan kaedah pelaksanaan Oracle select stored procedures akan diperkenalkan secara terperinci di bawah.

1. Pengenalan kepada prosedur tersimpan

Dalam Oracle, prosedur tersimpan ialah satu set pernyataan SQL yang telah ditetapkan yang boleh dilaksanakan bersama-sama sebagai satu unit. Prosedur tersimpan digunakan terutamanya untuk memproses logik perniagaan yang kompleks atau melaksanakan operasi berulang, seperti menambah, mengemas kini atau memadam rekod. Berbanding dengan satu pernyataan SQL, prosedur tersimpan boleh memberikan prestasi dan keselamatan yang lebih baik, di samping mengurangkan trafik rangkaian dan beban pada pelayan pangkalan data.

Prosedur tersimpan terdiri daripada blok yang mengandungi kod PL/SQL. PL/SQL ialah bahasa pengaturcaraan pangkalan data Oracle dan menyokong banyak binaan bahasa pengaturcaraan biasa, seperti pembolehubah, struktur kawalan dan pembangunan modular. Dalam prosedur tersimpan, anda boleh memanggil prosedur tersimpan lain, fungsi dan kursor, dan anda juga boleh menggunakan struktur kawalan kompleks seperti pernyataan bersyarat dan pernyataan gelung.

2. Jenis prosedur tersimpan

Oracle menyokong pelbagai jenis prosedur tersimpan, termasuk jenis berikut:

1 Prosedur tersimpan mudah: hanya mengandungi satu pernyataan SQL atau PL/. pernyataan SQL.

2. Prosedur tersimpan kompaun: terdiri daripada berbilang pernyataan SQL atau pernyataan PL/SQL.

3. Prosedur tersimpan dengan parameter: boleh menerima parameter input dan mengembalikan parameter output.

4. Prosedur disimpan kursor: Gunakan kursor untuk memproses set hasil.

5. Fungsi: serupa dengan prosedur tersimpan, tetapi menyokong pengembalian satu nilai.

6. Pencetus: Prosedur tersimpan yang dicetuskan secara automatik apabila rekod dimasukkan, dikemas kini atau dipadamkan.

3. Oracle pilih prosedur tersimpan

Oracle pilih prosedur tersimpan ialah jenis khas prosedur tersimpan, terutamanya digunakan untuk melaksanakan pertanyaan kompleks dan mengembalikan set hasil. Ia adalah jenis prosedur tersimpan yang biasa, terutamanya sesuai untuk senario yang perlu digunakan dalam pertanyaan kompleks.

Prosedur tersimpan pilihan Oracle biasa mengandungi bahagian berikut:

1 Pilih baris data melalui kursor

2 Simpan baris data

3 Kursor

4. Set hasil pulangan

Berikut ialah contoh prosedur tersimpan Oracle pilih:

CREATE OR REPLACE PROCEDURE get_employee_data
AS
   CURSOR employee_cursor
   IS
      SELECT employee_id, first_name, last_name, hire_date, salary
      FROM employees
      WHERE department_id = 10;
      
   emp_id NUMBER;
   first_name VARCHAR2(20);
   last_name VARCHAR2(25);
   hire_date DATE;
   salary NUMBER;
BEGIN
   OPEN employee_cursor;
   LOOP
      FETCH employee_cursor INTO emp_id, first_name, last_name, hire_date, salary;
      EXIT WHEN employee_cursor%NOTFOUND;
      -- 存储数据
   END LOOP;
   CLOSE employee_cursor;
   -- 返回结果集
END;

Dengan kod di atas, kita boleh mencipta Oracle bernama "get_employee_data " pilih prosedur tersimpan, dalam prosedur tersimpan ini, kami hanya memilih maklumat pekerja jabatan dengan ID 10.

4. Gunakan Oracle pilih prosedur tersimpan

Dalam Oracle, menggunakan prosedur tersimpan biasanya memerlukan langkah berikut:

1 Buka alat PL/SQL, seperti Oracle SQL Pembangun Atau SQL Plus, dsb.

2. Buat prosedur tersimpan yang merangkumi kod PL/SQL yang menjalankan pertanyaan SQL yang perlu dilaksanakan.

3. Susun kod prosedur yang disimpan untuk memastikan tiada ralat sintaks atau logik.

4. Jalankan prosedur tersimpan untuk memanggil prosedur tersimpan dan dapatkan hasilnya.

Proses umum menggunakan prosedur tersimpan Oracle pilih adalah seperti berikut:

1 Sambung ke pangkalan data dan contoh Oracle.

2. Buat prosedur tersimpan.

3. Susun prosedur tersimpan untuk memastikan tiada ralat sintaks atau logik.

4. Jalankan prosedur tersimpan dan paparkan set keputusan.

Berikut ialah contoh menggunakan prosedur tersimpan Oracle select untuk menanyakan butiran pesanan:

CREATE OR REPLACE PROCEDURE get_order_detail(order_id IN NUMBER, 
                                             result OUT SYS_REFCURSOR)
AS
BEGIN
   OPEN result FOR
      SELECT o.order_id, o.order_date, c.customer_name, 
             p.product_name, od.unit_price, od.quantity, 
             od.discount, (od.unit_price * od.quantity * od.discount) AS total
      FROM orders o
      JOIN customers c ON o.customer_id = c.customer_id
      JOIN order_details od ON o.order_id = od.order_id
      JOIN products p ON od.product_id = p.product_id
      WHERE o.order_id = order_id;
END;

Dalam contoh ini, kami mencipta prosedur tersimpan bernama "get_order_detail" dan menentukan parameter input (order_id ) dan parameter keluaran (hasil). Dalam prosedur tersimpan, kami menggunakan pemilihan kursor untuk mengira butiran pesanan tertentu dan menyimpannya dalam set hasil.

5. Ringkasan

Prosedur tersimpan pilihan Oracle ialah jenis prosedur tersimpan yang biasa, terutamanya digunakan untuk memproses pertanyaan kompleks dan mengembalikan set hasil. Ia meningkatkan prestasi dan keselamatan aplikasi serta mengurangkan trafik rangkaian dan beban pelayan pangkalan data. Artikel ini memperkenalkan pengetahuan asas dan kaedah pelaksanaan Oracle pilih prosedur tersimpan, dengan harapan dapat membantu pembangun pangkalan data Oracle.

Atas ialah kandungan terperinci Oracle pilih prosedur tersimpan. 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
Artikel sebelumnya:Oracle pilih prosedur tersimpanArtikel seterusnya:Oracle pilih prosedur tersimpan