我正在努力解决以下问题。我想限制使用Oracle VPD访问表。在select策略函数返回的where子句中,我需要在子查询中引用表,如下所示:
select * from Table t1
where not exists (select 1 from Table t2 where t2.name=t1.name and t2.date=t1.date)
(除了说明问题之外,这个例子没有多大意义)
我无法控制查询的选择部分。
select * from Table t1
该表可以给出任何别名,或者根本不给任何别名。因此我不知道如何在where子句中引用该表。 有办法解决这个问题吗?
(Oracle 10GR2)
答案 0 :(得分:0)
我认为你需要使用NOT IN:
(name, datecol) not in (select name, datecol from table2)