外部ストアド プロシージャは、動的な結果セットを15個まで作成するストアド プロシージャを呼び出すことができます。
以下に、SQL_SP_W_RSというストアド プロシージャを呼び出し、このストアド プロシージャによって作成される結果セットを消費させるJava外部ストアド プロシージャのサンプル コードを示します。
/**************************************************************
DDL for the Java external stored procedure:
REPLACE PROCEDURE CountRegions( OUT RowsFound INTEGER )
LANGUAGE JAVA
READS SQL DATA
PARAMETER STYLE JAVA
EXTERNAL NAME 'JarXSP:region.countRegion';
**************************************************************/
public class region {
public static void countRegion(int[] rowcount) throws SQLException
{
/* Establish default connection. */
Connection con =
DriverManager.getConnection("jdbc:default:connection");
/* Call SQL stored procedure that returns a result set */
CallableStatement stmt =
con.prepareCall("CALL SQL_SP_W_RS( ? )");
stmt.setInt(1,1);
/* Check that a result set was returned. */
if (stmt.execute()) {
/* Get returned result set. */
ResultSet rs = stmt.getResultSet();
rowcount[0]=0;
/* Count rows in result set. */
while (rs.next()) {
rowcount[0]++;
}
}
}
...
}
ストアド プロシージャから結果セットを戻す方法については、<Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL、B035-1148>を参照してください。