Oracle ストアド プロシージャは、実行される一連の SQL 文を含むプリコンパイルされた PL/SQL コード ブロックです。ストアド プロシージャは、データベース内のデータを処理または操作するために使用できます。また、ストアド プロシージャを使用して、ビジネス ロジックやアプリケーション機能を実装することもできます。
Oracle データベースでは、ストアド プロシージャの呼び出しは次の方法で実装できます。
SQL コマンド ライン ツール (SQL*Plus など) を使用すると、CALL ステートメントを通じてストアド プロシージャを呼び出すことができます。 CALL ステートメントの構文形式は次のとおりです。
CALL 存储过程名(参数1, 参数2, ...);
このうち、ストアド プロシージャ名は呼び出されるストアド プロシージャの名前を指し、パラメータ 1、パラメータ 2 などは、CALL ステートメントが必要とする入力パラメータです。ストアド プロシージャ。ストアド プロシージャに入力パラメータがない場合は、パラメータ リストを省略できます。
たとえば、「my_proc」という名前のストアド プロシージャを呼び出すには 2 つの入力パラメータが必要で、その構文形式は次のとおりです。
CALL my_proc('参数1值', '参数2值');
ストアド プロシージャは、PL/SQL ブロックを使用して呼び出すこともできます。 PL/SQL ブロックは、他のプログラミング言語の関数やサブルーチンと同様に、PL/SQL コードを作成および実行する方法です。 PL/SQL ブロック内では、BEGIN ブロックと END ブロックを使用して、実行するコードと、関連する入力パラメータと出力パラメータを定義できます。
たとえば、次は、「my_proc」という名前のストアド プロシージャを呼び出すための単純な PL/SQL ブロックです。
DECLARE 参数1 VARCHAR2(50) := '参数1值'; 参数2 VARCHAR2(50) := '参数2值'; BEGIN my_proc(参数1, 参数2); END;
その中で、DECLARE キーワードは、変数、パラメータ 1 およびパラメータを宣言するために使用されます。パラメーター 2 は入力パラメーターの変数名、:= は変数に初期値を割り当てるために使用され、my_proc は呼び出されるストアド プロシージャの名前です。
Java プログラムでは、JDBC API を使用して Oracle ストアド プロシージャを呼び出すことができます。 JDBC にはストアド プロシージャを呼び出すための CallableStatement クラスが用意されており、ストアド プロシージャのパラメータを CallableStatement オブジェクトに渡し、実行中にストアド プロシージャと一緒に呼び出すことができます。
たとえば、以下はストアド プロシージャを呼び出し、結果を出力するサンプル プログラムです。
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(); } }
このうち、driverName と connectionString は、JDBC が接続するときに必要なドライバおよび接続文字です。 Oracle データベース 文字列、userName、パスワードはデータベースのログイン名とパスワードです。 storageProcedure は呼び出されるストアド プロシージャの名前、param1 と param2 は入力パラメータの値です。
つまり、Oracle ストアド プロシージャは、SQL コマンド ライン ツール、PL/SQL ブロック、Java プログラムなど、さまざまな方法で呼び出すことができます。実際のアプリケーションでは、特定のニーズと環境に基づいてストアド プロシージャを呼び出す適切な方法を選択し、データ処理とロジック実装のタスクをより適切に完了できます。
以上がOracleストアドプロシージャを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。