Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 Java 代码处理 DB2 表,并使用 ResultSetMetaData 获取表的元数据。无论如何要知道该表是否已生成列,如果是,是否有办法找出用于它的公式。
只要可以通过 Java 代码,使用 ResultSetMetaData 或使用任何其他方法都可以。
梅胡尔
使用系统目录。在 Java 中将以下内容作为 ResultSet 打开
SELECT colname FROM SysCat.Columns WHERE tabname = ? AND tabschema = ? AND identity = 'Y'
如果 ResultSet 为空,则您的表没有 GENERATED 列。否则,您可以从上述查询的输出中确定生成了哪个列名。
如果您正在寻找一个可以为 IDENTITY 列“预先生成”下一个值的公式,那么就没有办法做到这一点,至少在数据库很热的时候不行。