Java コードを使用して DB2 テーブルを操作し、テーブルのメタデータを取得するために ResultSetMetaData を使用しています。とにかく、テーブルが列を生成したかどうかを知る方法はありますか? はいの場合、それに使用されている式を見つける方法はありますか?
Java コードで可能な限り、ResultSetMetaData を使用するか、その他の方法を使用しても問題ありません。
メフル
システム カタログを使用します。以下を Java の ResultSet として開きます。
SELECT colname
FROM SysCat.Columns
WHERE tabname = ?
AND tabschema = ?
AND identity = 'Y'
ResultSet が空の場合、テーブルには GENERATED 列がありません。それ以外の場合は、上記のクエリの出力から、どの列名が GENERATED であるかを判断できます。
IDENTITY 列の次の値を「事前生成」する数式を探している場合、少なくともデータベースがホットな場合はそうする方法はありません。