有没有办法检查列是否在java中是虚拟的?

时间:2014-10-02 06:43:54

标签: java database oracle jdbc virtual-column

我想知道是否有办法检查表中的列是否在java中是虚拟的? 我在尝试ResultSetMetaData没有运气:

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

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

1 个答案:

答案 0 :(得分: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元数据通常以大写形式存储。