我可以使用动态的“ WHERE”子句创建视图吗?将根据用户和某些条件构建此where子句
这是我的交易表:
+--------+----------+------------+
| Job ID | Customer | Department |
+--------+----------+------------+
| 1 | ABC | Tanker |
| 2 | ABC | Dry |
| 3 | MEX | Tanker |
| 4 | MEX | Dry |
+--------+----------+------------+
我的用户明智的设置具有标题详细信息
[Access key-这是我用来过滤数据的每个段的二进制代码(第一个位置是部门,第二个是客户,0表示全部,1表示选择/限制访问)]]
标题:
+------+------------+ | User | Access key | +------+------------+ | A | 00 | | B | 10 | | C | 11 | +------+------------+
详细信息表:
+------+------------+--------+ | User | Segment | Value | +------+------------+--------+ | B | Department | Tanker | | C | Department | Tanker | | C | Customer | ABC | +------+------------+--------+
现在,我需要根据上述用户明智的设置来过滤数据。我可以在用户的基础上动态构建where子句,然后通过select查询传递并执行它,而不是固定视图中的where子句以获取数据?请帮助,我有2个数据库(MySQL和Oracle)
也欢迎归档此要求的替代建议。
我可以使用动态的“ WHERE”子句创建视图吗?将根据用户和某些条件构建此where子句。这是我的事务处理表:+ -------- + ---------- + ----------- -+ |职位编号| ...
对于Oracle,这听起来像是虚拟专用数据库的用例:https://docs.oracle.com/database/121/DBSEG/vpd.htm