Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk memanggil prosedur tersimpan oracle

Bagaimana untuk memanggil prosedur tersimpan oracle

PHPz
PHPzasal
2023-04-18 09:06:366517semak imbas

Prosedur tersimpan Oracle ialah blok tersusun awal kod PL/SQL yang mengandungi set pernyataan SQL untuk dilaksanakan. Prosedur tersimpan boleh digunakan untuk memproses atau memanipulasi data dalam pangkalan data, atau ia boleh digunakan untuk melaksanakan logik perniagaan atau fungsi aplikasi.

Dalam pangkalan data Oracle, memanggil prosedur tersimpan boleh dilaksanakan dengan cara berikut.

  1. Gunakan alatan baris arahan SQL

Gunakan alatan baris arahan SQL (seperti SQL*Plus) untuk memanggil prosedur tersimpan melalui pernyataan CALL. Format sintaks pernyataan CALL ialah:

CALL 存储过程名(参数1, 参数2, ...);

Antaranya, nama prosedur tersimpan merujuk kepada nama prosedur tersimpan yang akan dipanggil, dan parameter 1, parameter 2, dsb. ialah parameter input diperlukan oleh prosedur tersimpan. Jika prosedur yang disimpan tidak mempunyai parameter input, senarai parameter boleh ditinggalkan.

Sebagai contoh, memanggil prosedur tersimpan bernama "my_proc", yang memerlukan dua parameter input, format sintaks ialah:

CALL my_proc('参数1值', '参数2值');
  1. Gunakan blok PL/SQL

Prosedur tersimpan juga boleh dipanggil menggunakan blok PL/SQL. Blok PL/SQL ialah cara untuk menulis dan melaksanakan kod PL/SQL, serupa dengan fungsi atau subrutin dalam bahasa pengaturcaraan lain. Dalam blok PL/SQL, anda boleh menggunakan blok BEGIN dan END untuk menentukan kod yang akan dilaksanakan, serta parameter input dan output yang berkaitan.

Sebagai contoh, berikut ialah blok PL/SQL mudah untuk memanggil prosedur tersimpan bernama "my_proc":

DECLARE
    参数1 VARCHAR2(50) := '参数1值';
    参数2 VARCHAR2(50) := '参数2值';
BEGIN
    my_proc(参数1, 参数2);
END;

Di mana, kata kunci DECLARE digunakan untuk mengisytiharkan pembolehubah, parameter 1 dan parameter 2 ialah nama pembolehubah bagi parameter input, := digunakan untuk memberikan nilai awal kepada pembolehubah, dan my_proc ialah nama prosedur tersimpan yang akan dipanggil.

  1. Menggunakan Program Java

Dalam program Java, anda boleh menggunakan API JDBC untuk memanggil prosedur tersimpan Oracle. JDBC menyediakan kelas CallableStatement untuk memanggil prosedur tersimpan Anda boleh menghantar parameter prosedur tersimpan ke objek CallableStatement dan memanggilnya bersama-sama dengan prosedur tersimpan semasa pelaksanaan.

Sebagai contoh, berikut ialah contoh program untuk memanggil prosedur tersimpan dan mencetak hasilnya:

import java.sql.*;

public class CallStoredProcedure {
    public static void main(String[] args) throws Exception {
        String driverName = "oracle.jdbc.driver.OracleDriver";
        String connectionString = "jdbc:oracle:thin:@//localhost:1521/orcl";
        String userName = "USERNAME";
        String password = "PASSWORD";
        String storedProcedure = "my_proc";
        String param1 = "参数1值";
        String param2 = "参数2值";
          
        Class.forName(driverName);
        Connection con = DriverManager.getConnection(connectionString, userName, password);
      
        CallableStatement cst = con.prepareCall("{call " + storedProcedure + "(?,?)}");
        cst.setString(1, param1);
        cst.setString(2, param2);
        cst.execute();
      
        ResultSet rs = cst.getResultSet();
        while (rs.next()) {
            // 处理结果集
        }
      
        cst.close();
        con.close();
    }
}

Antaranya, driverName dan connectionString ialah pemacu yang diperlukan apabila JDBC menyambung ke Oracle pangkalan data dan Rentetan sambungan, Nama pengguna dan kata laluan ialah nama log masuk pangkalan data dan kata laluan. storedProcedure ialah nama prosedur tersimpan untuk dipanggil, dan param1 dan param2 ialah nilai parameter input.

Ringkasnya, prosedur tersimpan Oracle boleh dipanggil dalam pelbagai cara, termasuk alatan baris arahan SQL, blok PL/SQL dan program Java. Dalam aplikasi praktikal, kita boleh memilih cara yang sesuai untuk memanggil prosedur tersimpan berdasarkan keperluan dan persekitaran khusus untuk menyelesaikan tugas pemprosesan data dan pelaksanaan logik dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk memanggil 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