2

私は次の問題に苦しんでいます。OracleVPDを使用してテーブルへのアクセスを制限したい。select policy関数が返す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)

4

1 に答える 1

0

NOT IN を使用する必要があると思います:

(name, datecol) not in (select name, datecol from table2)
于 2010-10-19T12:42:07.887 に答える