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

JavaプログラムでのPL/SQLパッケージコードの呼び出し

    以下の簡単な手順に従ってください:

    public static final String SOME_NAME = "{call   schema_name.org_name_pkg.return_something(?,?)}"; // Change the schema name,packagename,and procedure name.
    
    // Simple JDBC Connection Pooling
    // Here I am passing param companyId which is IN param to stored procedure which will return me some value.
    
    Connection conn = null;
    CallableStatement stmt = null;
    ResultSet rset = null;
    
    try {
            conn = DriverManager.getConnection("jdbc:mysql://hostname:port/dbname","username", "password");
            stmt = conn.prepareCall(SOME_NAME);//We have declared this at the very top
            stmt.setString(1, companyid);//Passing CompanyID here
            stmt.registerOutParameter(2, OracleTypes.CURSOR);//Refcursor selects the row based upon query results provided in Package.
            stmt.execute();
            rset = (ResultSet) stmt.getObject(2);
    
            while (rset.next()) {
                String orgId=rset.getString("RPT_ORG_ID"); 
                // When using refcursor easy to get the value just by using Column name     
                String orgName=rset.getString("RPT_ORG_NAME");    
                // Some Logic based what do you want to do with the data returned back from query
    } catch (Exception e) {
            LOGGER.error("Error extracting ", e);
    } finally {
            DBUtils.cleanUp(conn, stmt, rset);
    }
    
    // Clean and close you connection
    



    1. SQLServerの依存関係

    2. Mysql:不明な変数、mysqlアプリケーションを実行できない、my.cnfとは関係がないようです

    3. UbuntuでpgAdminを使用してPostgresをローカルホストサーバーに接続するにはどうすればよいですか?

    4. SQL:ウィンドウ関数の現在の行のデータを参照/アクセスできますか?