【发布时间】:2016-07-29 07:48:27
【问题描述】:
Java 项目包含一个轻量级 SQL 客户端,它为最终用户提供一个 UI 来编写自己的 sql 查询,然后使用 JDBC 从允许的数据源执行并查看 HTML 表中的结果。
现有的零售商数据库包含许多表,其中所有表都具有强制的BUSINESS_UNIT (BU) 键。
用户使用 BU Key 登录时,他们应该只能访问其业务部门。
用户这样写查询
select * from [retail].[transaction] where status='closed' and txn_date='2016-07-26'
在内部它应该添加 BU 键,最终要执行的查询将是
select * from [retail].[transaction] where BUSINESS_UNIT= ?
and status='closed' and txn_date='2016-07-26'
对于简单的查询,我可以包含 `BUSINESS_UNIT=?但是当他们编写具有更多业务表和多个连接的查询时,很难找到 where 子句。
有没有其他方法可以实现这一点。
【问题讨论】:
标签: java sql-server jdbc