我想知道是否有办法检查表中的列是否在java中是虚拟的? 我在尝试ResultSetMetaData没有运气:
rsmd.isWritable(column);
rsmd.isReadOnly(column);
rsmd.isDefinitelyWritable(column);
我需要检查它是否是一个虚拟列,以便知道我是否应该插入/修改它,是否有任何想法?
答案 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元数据通常以大写形式存储。