1

Oracle VPD 機能 (別名 RLS、別名 FGAC) を使用して、述語を使用するとします。

(WHERE) id = 'XXXX'

TableA、次に述語を使用します

(WHERE) col in (SELECT col From TableA)

オンTableB

TableAフィルタリングされますか?テーブルをクエリするとき、フィルタリングは述語定義の外でのみ行われますか? このように述語を作成する必要がありますTableBか?:

(WHERE) col in (SELECT col From TableA where id ='XXXX')
4

1 に答える 1

0

はい、TableA指定した述語を使用して自動的にフィルタリングされます(id = 'XXXX')。Oracleはselect from、フィルタ基準が満たされている場合、サブクエリであっても、テーブルを使用する場所(この場合は)にフィルタを自動的に適用します(sec_relevant_colsを参照)。

于 2009-11-08T22:28:36.937 に答える