Rumah pangkalan data Oracle Pengenalan terperinci kepada sintaks prosedur tersimpan Oracle

Pengenalan terperinci kepada sintaks prosedur tersimpan Oracle

Apr 18, 2023 pm 03:23 PM

Prosedur tersimpan Oracle ialah sekeping kod PL/SQL pra-disusun yang boleh dipanggil dan dilaksanakan apabila diperlukan. Prosedur tersimpan boleh merangkumi beberapa logik perniagaan, meningkatkan kecekapan pelaksanaan SQL, dan boleh merangkum operasi kompleks ke dalam operasi mudah dengan memanggil antara muka, meningkatkan kebolehselenggaraan dan kebolehpercayaan aplikasi pangkalan data. Artikel ini akan memperkenalkan sintaks prosedur tersimpan Oracle secara terperinci.

Buat prosedur tersimpan Oracle

Dalam Oracle, terdapat dua cara utama untuk mencipta prosedur tersimpan Satu ialah menggunakan kenyataan CREATE PROCEDURE untuk mencipta prosedur tersimpan, dan satu lagi ialah menggunakan a Alat PL/SQL untuk mencipta prosedur tersimpan.

Sintaks untuk menggunakan pernyataan CREATE PROCEDURE untuk mencipta prosedur tersimpan adalah seperti berikut:

CREATE [OR REPLACE] PROCEDURE procedure_name
(parameter_name [IN | OUT | OUT] data_type , ...)
IS
[DEKLARASI]
BERMULA
​​Penyata
[EXCEPTION]
Kenyataan pengendalian pengecualian
TAMAT [procedure_name];

Antaranya, CREATE PROCEDURE dicipta Pernyataan prosedur tersimpan, ATAU GANTI adalah kata kunci pilihan, menunjukkan bahawa jika prosedur tersimpan sudah wujud, gantikan nama_prosedur adalah nama parameter_nama adalah input dan output nama parameter prosedur tersimpan ialah jenis data parameter IS Ia adalah simbol akhir pengepala prosedur tersimpan ialah pembolehubah pilihan atau bahagian pengisytiharan tetap antara BEGIN dan END ialah badan utama prosedur tersimpan; , yang mengandungi pernyataan SQL dan kod PL/SQL.

Proses menggunakan alatan PL/SQL untuk mencipta prosedur tersimpan adalah seperti berikut:

  1. Buka PL/SQL Developer atau SQL Developer dan alatan PL/SQL yang lain
  2. Dalam "Fail" "Pilih "Baharu" dalam menu, dan kemudian pilih "Prosedur Tersimpan" dalam tetingkap baharu;
  3. Masukkan kod prosedur tersimpan dalam tetingkap;
  4. Klik butang "Simpan" untuk menyimpannya sebagai dokumentasi Proses storan.

Melalui parameter

Prosedur yang disimpan Oracle boleh menerima dan mengembalikan parameter, yang boleh menjadi parameter input, parameter output atau parameter input dan output. Parameter input ialah nilai parameter yang diluluskan dalam prosedur tersimpan, parameter output ialah nilai hasil yang dikira dalam prosedur tersimpan, dan parameter input dan output memainkan peranan parameter input dan output pada masa yang sama.

Apabila mentakrifkan parameter prosedur tersimpan, anda perlu menentukan nama parameter, jenis data dan arah parameter (MASUK, KELUAR atau KELUAR). Contohnya:

BUAT ATAU GANTIKAN PROSEDUR emp_gaji_kenaikan
(emp_id DALAM NOMBOR, naik_peratus DALAM NOMBOR, new_gaji KELUAR NOMBOR)
ADALAH
BERMULA
PILIH gaji + (gaji * ( increase_percent/100 )) INTO new_gaji DARIPADA pekerja DIMANA employee_id = emp_id;
END;

Dalam contoh ini, stored procedure emp_salary_increase menerima 3 parameter, emp_id dan increase_percent ialah parameter input, dan new_gaji ialah parameter output .

Apabila merujuk parameter prosedur tersimpan, singkatan nama prosedur tersimpan mesti ditambah sebelum nama parameter. Contohnya:

emp_salary_increase(100, 10, :new_gaji);

Dalam kod di atas, 100 dan 10 ialah nilai parameter emp_id dan increase_percent, dan :new_gaji ialah keluaran new_gaji dikira oleh nilai parameter yang disimpan.

Cawangan bersyarat dan struktur gelung

Seperti bahasa pengaturcaraan lain, prosedur tersimpan Oracle juga menyokong cawangan bersyarat dan struktur gelung. Penyata cawangan biasa termasuk penyata IF-THEN, IF-THEN-ELSE dan CASE, dan penyataan gelung termasuk penyataan WHILE dan FOR. Sintaks bagi pernyataan

IF-THEN adalah seperti berikut:

IF condition THEN
-- laksanakan blok pernyataan
END IF;

Dalam contoh ini , jika syarat Jika nilainya BENAR, blok pernyataan dilaksanakan. Sintaks bagi pernyataan

IF-THEN-ELSE adalah seperti berikut:

IF condition THEN
-- laksanakan blok pernyataan
ELSE
-- laksanakan blok pernyataan lain
TAMAT JIKA;

Dalam contoh ini, jika nilai syarat adalah BENAR, blok pernyataan pertama dilaksanakan jika tidak, blok pernyataan kedua dilaksanakan. Sintaks

penyataan KES adalah seperti berikut:

ungkapan_kes_kes
WHEN when_expression THEN

-- execute statement block
Salin selepas log masuk

WHEN when_expression THEN

-- execute another statement block
Salin selepas log masuk

ELSE

-- default block
Salin selepas log masuk

END CASE;

Dalam contoh ini, case_expression ialah ungkapan perbandingan dalam pernyataan CASE dan when_expression ialah ungkapan bersyarat dalam pernyataan CASE, yang boleh mempunyai berbilang WHEN cawangan. Sintaks

WHILE loop adalah seperti berikut:

WHILE condition LOOP
-- laksanakan blok pernyataan
END LOOP;

Dalam contoh ini, the while gelung mengikut keadaan Hasil daripada gelung ungkapan melalui blok pernyataan.

Sintaks gelung FOR adalah seperti berikut:

UNTUK indeks DALAM [REVERSE] lower_bound..upper_bound LOOP
-- laksanakan blok pernyataan
END LOOP;

dalam contoh ini, indeks ialah pembolehubah integer, batas_bawah dan batas_ atas ialah nilai permulaan dan akhir gelung. Jika anda menggunakan kata kunci REVERSE, gelung berulang dari tinggi ke rendah.

Pengendalian Pengecualian

Dalam prosedur tersimpan Oracle, jika pengecualian berlaku, ia perlu dikendalikan seanggun mungkin. Jika pengendalian pengecualian tidak dipertimbangkan, prosedur tersimpan mungkin tidak dapat dilaksanakan atau pelbagai masalah mungkin berlaku.

Pengendalian pengecualian boleh diselesaikan menggunakan blok pernyataan EXCEPTION, yang mengandungi satu atau lebih blok WHEN-THEN untuk melaksanakan operasi pemprosesan yang berbeza dalam situasi pengecualian yang berbeza. Setiap blok WHEN-THEN mesti menyatakan nama pengecualian dan operasi pengendalian pengecualian yang sepadan. Contohnya:

DECLARE
 emp_id NUMBER(10);
 emp_salary NUMBER(10, 2);
BEGIN
 SELECT salary INTO emp_salary FROM employees WHERE employee_id = emp_id;
EXCEPTION
 WHEN no_data_found THEN

emp_id := NULL;
Salin selepas log masuk

WHEN others THEN

RAISE;
Salin selepas log masuk

END;

在这个例子中,如果SELECT语句找不到数据行,则没有找到数据的异常被捕获。异常处理程序将赋值NULL值到emp_id变量。如果有其他未知异常,则使用RAISE语句继续抛出异常。

结论

本文介绍了Oracle存储过程的语法,包括创建存储过程、参数传递、条件分支、循环结构和异常处理。了解Oracle存储过程的语法和使用方法可以让你更好地利用Oracle数据库的强大功能,提高开发效率和应用程序的可靠性。

Atas ialah kandungan terperinci Pengenalan terperinci kepada sintaks prosedur tersimpan Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana saya membuat pengguna dan peranan dalam oracle? Bagaimana saya membuat pengguna dan peranan dalam oracle? Mar 17, 2025 pm 06:41 PM

Artikel ini menerangkan cara membuat pengguna dan peranan dalam Oracle menggunakan arahan SQL, dan membincangkan amalan terbaik untuk menguruskan kebenaran pengguna, termasuk menggunakan peranan, mengikuti prinsip keistimewaan paling sedikit, dan audit biasa.

Bagaimana saya melakukan sandaran dalam talian di oracle dengan downtime minimum? Bagaimana saya melakukan sandaran dalam talian di oracle dengan downtime minimum? Mar 17, 2025 pm 06:39 PM

Artikel ini membincangkan kaedah untuk melakukan sandaran dalam talian di Oracle dengan downtime yang minimum menggunakan RMAN, amalan terbaik untuk mengurangkan downtime, memastikan konsistensi data, dan memantau kemajuan sandaran.

Bagaimana saya mengkonfigurasi penyulitan dalam oracle menggunakan penyulitan data telus (TDE)? Bagaimana saya mengkonfigurasi penyulitan dalam oracle menggunakan penyulitan data telus (TDE)? Mar 17, 2025 pm 06:43 PM

Artikel ini menggariskan langkah -langkah untuk mengkonfigurasi penyulitan data telus (TDE) di Oracle, memperincikan penciptaan dompet, membolehkan TDE, dan penyulitan data di pelbagai peringkat. Ia juga membincangkan manfaat TDE seperti perlindungan data dan pematuhan, dan bagaimana untuk veri

Bagaimana Saya Menggunakan Repositori Beban Kerja Automatik (AWR) dan Monitor Diagnostik Pangkalan Data Automatik (ADDM) di Oracle? Bagaimana Saya Menggunakan Repositori Beban Kerja Automatik (AWR) dan Monitor Diagnostik Pangkalan Data Automatik (ADDM) di Oracle? Mar 17, 2025 pm 06:44 PM

Artikel ini menerangkan cara menggunakan AWR dan Addm Oracle untuk pengoptimuman prestasi pangkalan data. Ia memperincikan penjanaan dan menganalisis laporan AWR, dan menggunakan Addm untuk mengenal pasti dan menyelesaikan kesesakan prestasi.

Bagaimanakah saya menggunakan teknologi flashback untuk pulih dari rasuah data logik? Bagaimanakah saya menggunakan teknologi flashback untuk pulih dari rasuah data logik? Mar 14, 2025 pm 05:43 PM

Artikel membincangkan menggunakan teknologi flashback Oracle untuk pulih dari rasuah data logik, memperincikan langkah-langkah untuk pelaksanaan dan memastikan integriti data selepas pemulihan.

Oracle PL/SQL Dive Deep: Menguasai Prosedur, Fungsi & Pakej Oracle PL/SQL Dive Deep: Menguasai Prosedur, Fungsi & Pakej Apr 03, 2025 am 12:03 AM

Prosedur, fungsi dan pakej dalam OraclePL/SQL digunakan untuk melaksanakan operasi, mengembalikan nilai dan menyusun kod, masing -masing. 1. Proses ini digunakan untuk melakukan operasi seperti mengeluarkan salam. 2. Fungsi ini digunakan untuk mengira dan mengembalikan nilai, seperti mengira jumlah dua nombor. 3. Pakej digunakan untuk mengatur unsur -unsur yang relevan dan meningkatkan modulariti dan mengekalkan kod, seperti pakej yang menguruskan inventori.

Bagaimanakah saya membuat dan menguruskan jadual, pandangan, indeks, dan objek pangkalan data lain di Oracle? Bagaimanakah saya membuat dan menguruskan jadual, pandangan, indeks, dan objek pangkalan data lain di Oracle? Mar 14, 2025 pm 05:52 PM

Artikel ini membincangkan membuat dan menguruskan objek pangkalan data Oracle seperti jadual, pandangan, dan indeks menggunakan arahan SQL. Ia meliputi amalan terbaik untuk pengoptimuman prestasi, memastikan integriti dan keselamatan data, dan menggunakan alat untuk automasi.

Bagaimanakah saya melakukan operasi switchover dan failover di Oracle Data Guard? Bagaimanakah saya melakukan operasi switchover dan failover di Oracle Data Guard? Mar 17, 2025 pm 06:37 PM

Prosedur butiran artikel untuk switchover dan failover dalam Pengawal Data Oracle, menekankan perbezaan, perancangan, dan ujian mereka untuk meminimumkan kehilangan data dan memastikan operasi yang lancar.

See all articles