sql >> データベース >  >> RDS >> Oracle

Javaでpl/sql関数を呼び出しますか?

    JavaはCallableStatementsを提供します そのような目的のために。

    CallableStatement cstmt = conn.prepareCall("{? = CALL total_cancellations()}");
    cstmt.registerOutParameter(1, Types.INTEGER);
    cstmt.setInt(2, acctNo);
    cstmt.executeUpdate();
    int cancel= cstmt.getInt(1);
    System.out.print("Cancellation is "+cancel);
    

    pl/sqlの場合と同じように出力されます。ドキュメントに従ってConnection#prepareCall()

    データベースのストアドプロシージャを呼び出すためのCallableStatementオブジェクトを作成します。 CallableStatementオブジェクトは、そのINおよびOUTパラメータを設定するためのメソッドと、ストアドプロシージャへの呼び出しを実行するためのメソッドを提供します。

    関数のパラメータを渡すこともできます。たとえば、

    conn.prepareCall("{? = CALL total_cancellations(?)}");
    cstmt.setInt(2, value);
    

    値を入力パラメータとして関数に渡します。

    これがお役に立てば幸いです!



    1. 開発プロジェクト中のミッションクリティカルなアクセスアプリケーションの特定と管理

    2. Access2016でテンプレートからデータベースを作成する方法

    3. MySQLテーブル名の特殊文字

    4. SQLite外部キー