Oracle VPD如何引用该表

时间:2010-10-19 12:04:46

标签: sql oracle row-level-security

我正在努力解决以下问题。我想限制使用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)

1 个答案:

答案 0 :(得分:0)

我认为你需要使用NOT IN:

(name, datecol) not in (select name, datecol from table2)