我想用 jdbc 在 teradata 上获取表创建脚本。我使用了在 stackoverflow 上找到的这段代码:
StringBuilder sb = new StringBuilder( 1024 );
if ( columnCount > 0 ) {
sb.append( "Create table ").append( rsmd.getTableName( 1 ) ).append( " ( " );
}
for ( int i = 1; i <= columnCount; i ++ ) {
if ( i > 1 ) sb.append( ", " );
String columnName = rsmd.getColumnLabel( i );
String columnType = rsmd.getColumnTypeName( i );
sb.append( columnName ).append( " " ).append( columnType );
int precision = rsmd_ddl.getPrecision( i );
if ( precision != 0 ) {
sb.append( "( " ).append( precision ).append( " )" );
}
} // for columns
sb.append( " ) " );
但问题是:当类型是VARCHAR
精度时,0
但在 teradata 中,列是VARCHAR(100)
,但我怎么能找到100
?
谢谢。