外部ストアド プロシージャは、動的な結果セットを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>を参照してください。