5.7 Oracle Data Redactionと、データ・リダクション・ポリシーで保護されている列に対するカーソル式問合せ
Oracle Data Redactionポリシーで保護されている列を選択する複数のSQL文の間のUNION
句があるカーソル式問合せでは、返される行が少なくなる場合があります。
これが起こるのは、まずその列に対してリダクションが実行された後に、SELECT
文からのリダクション済データにUNION
句が適用されるためです。
この問題を回避するには、問合せを書き直して、UNION
操作がリダクションの前に実行されるようにインライン・ビューを含めます。たとえば、次の問合せを考えてみます:
SELECT cursor(SELECT sensitive_column FROM table_name UNION SELECT sensitive_column FROM table_name);
次のように問合せを書き直します:
SELECT cursor(SELECT sensitive_column FROM
(SELECT sensitive_column FROM table_name
UNION
SELECT sensitive_column FROM table_name));