ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
ストアドファンクションの実行
スポンサード リンク

ストアドファンクションの実行は、CallableStatmentを使用するか、SELECT文で実行の2種類ある。

例1) ストアドファンクション「get_data_func」を実行する。
ストアドファンクション定義
create or replace function get_data_func(
  in_data in char) 
 return varchar2 as

begin

  return 'aaa';

end get_data_func;

javaソース
import java.sql.*;

public class CallFunc {

  public static void main(String[] args) throws SQLException {

    DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
    Connection con = DriverManager.getConnection(
        "jdbc:oracle:thin:@127.0.0.1:1521:ORCL","test","test");

    CallableStatement cs = con.prepareCall("begin ? := get_data_func(?); end;");
    // 戻り値のデータ型定義
    cs.registerOutParameter(1,Types.CHAR);
    // 引数に"abc"を指定
    cs.setString(2,"abc");
    // ストアドファンクション実行
    cs.executeUpdate();
    // 戻り値を取得
    String data = cs.getString(1);
    System.out.println(data);
    // CallableStatementをクローズ
    cs.close();
    // コネクションクローズ
    con.close();

  }
}


例2) 上記の例1ストアドファンクション「get_data_func」を下記のSQLで実行する。

select get_data_func() from dual;


スポンサード リンク


ストアドファンクションの実行
ストアドプロシージャの実行

JDBC へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ