我需要能够(通过JDBC)对视图执行简单的SQL选择查询(可以通过相当复杂的源查询生成视图)。这是捕获:我没有对数据库的写访问权限,因此我无法在那里创建视图。
是否有人知道可以让您定义基础数据库视图的JDBC代理?数据库恰好是MSSQL,如果有帮助的话,那就是db-anostic代理的奖励积分。
当然,我可以将自己作为一个强力解决方案来实现,但如果已经有解决方案,我宁愿避免重新发明轮子。
出于此问题的目的,假设只读数据库访问和针对视图模式查询JDBC驱动程序(没有最终用户对基础数据库模式的了解)是不可协商的。
答案 0 :(得分:0)
您可以使用所谓的内联视图,使用子选择:
SELECT *
FROM (SELECT *
FROM ...) x
在此示例中,x
是表别名。括号内的内容是内联视图 - 它可以是任何有效的SQL语句来表示您的情况所需的视图。它在典型的SQL视图中是不可重用的,但它比你提议创建的任何基础结构都要少。