0

我正在使用 Java 代码处理 DB2 表,并使用 ResultSetMetaData 获取表的元数据。无论如何要知道该表是否已生成列,如果是,是否有办法找出用于它的公式。

只要可以通过 Java 代码,使用 ResultSetMetaData 或使用任何其他方法都可以。

梅胡尔

4

1 回答 1

0

使用系统目录。在 Java 中将以下内容作为 ResultSet 打开

    SELECT colname
      FROM SysCat.Columns
      WHERE tabname = ?
        AND tabschema = ?
        AND identity = 'Y'

如果 ResultSet 为空,则您的表没有 GENERATED 列。否则,您可以从上述查询的输出中确定生成了哪个列名。

如果您正在寻找一个可以为 IDENTITY 列“预先生成”下一个值的公式,那么就没有办法做到这一点,至少在数据库很热的时候不行。

于 2012-07-27T22:20:20.390 回答