4

我想知道是否有任何方法可以检查表中的列在java中是否是虚拟的?我在那里尝试 ResultSetMetaData 没有运气:

rsmd.isWritable(column);
rsmd.isReadOnly(column);
rsmd.isDefinitelyWritable(column);

我需要检查它是否是一个虚拟列,以便知道我是否应该插入/修改它,有什么想法吗?

4

1 回答 1

0

就像 Maheswaran Ravisankar 已经说过的那样,获取此信息的唯一方法是对数据库运行查询。也许有一个 Java 函数可以执行此操作,但我对此表示怀疑。以下查询应该为您完成:

select VIRTUAL_COLUMN from ALL_TAB_COLS where OWNER = :1 and TABLE_NAME = :2 and COLUMN_NAME = :3;

查询的结果将是YES or NO(YES = 列是虚拟的)。

请记住: Oracle 元数据通常以大写形式存储。

于 2014-12-22T14:35:09.010 回答