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

标签 java database oracle jdbc virtual-column

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

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

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

最佳答案

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

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

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

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

关于java - 有没有办法检查一个列在java中是否是虚拟的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26155609/

相关文章:

java - 如何导出映射到枚举的数据

android - SQLite 自动递增不起作用

sql - 如何从多对多表中选择一对一关系

ruby-on-rails - Amazon SimpleDB 是我数据的不错选择吗?

java - 如何使用Oracle和JDBC获取SQL语句中错误的行号?

oracle - 从 Oracle 存储过程调用 os_command.exec

java - 将 System.out.print 方法中的数据存储到字符串中(Java)?

java - 预期在单线程上有序执行

java - 应用程序代码外的 Android RuntimeException

java - JDBC 以 block 的形式检索 Oracle 数据