我正在使用JDBC DatabaseMetaData.getProcedureColumns()
来获取与数据库存储过程关联的列。有没有办法用它们的原始源表来增加这些列?这是列信息的工作代码。
private void getMetadataSP(DatabaseMetaData databaseMetaData, ResultSet rs, int outIdx) {
boolean output_SP_metadata_set = false;
RecordOutput outputStoredProc = output(idxStoredProcs);
try {
while (rs.next())
{
String procName = rs.getString(3);
ResultSet columns = databaseMetaData.getProcedureColumns (m_database, m_schema, procName, null);
ResultSetMetaData rsmdSP = columns.getMetaData();
if (!output_SP_metadata_set)
{
setupOutputMetadata(outputStoredProc, rsmdSP);
output_SP_metadata_set = true;
openOutput(idxStoredProcs);
}
while (columns.next())
{
writeResultToOutput(outputStoredProc, columns, rsmdSP);
}
columns.close();
}
}