4.2 ネストした関数、インライン・ビューおよびWHERE
句でのOracle Data Redaction
Oracle Data Redactionは、ネストした関数、インライン・ビューおよびWHERE
句に影響を与えます。
- ネストした関数は、実際のデータに対して機能します。ただし、次の場合は例外であり、リダクションされたデータに対して機能します:
- JSON関数
- XML関数
- カーソル式でのSQL式
- コンストラクタ関数
- PL/SQL関数
- ユーザー定義演算子
- ユーザー定義の集計
例:
この関数は列SELECT SUM(AVG(TO_NUMBER ((X))) FROM HR.EMPLOYEES WHERE .....
X
内の実際のデータに対して機能し、最も内側から外側へと向かう順序で実行されますが、SQL式の結果は、そのSQL式内にリダクションされる列が含まれていれば、完全リダクションを使用してリダクションされます。これは、関数内でリダクションされる列が複数指定されておりリダクションされる各列のファンクション・タイプが異なる場合に、式の結果をリダクションするために使用するリダクション・タイプについて混乱が生じないようにするためです。 -
インライン・ビューは、最も外側からリダクションされます。次の例を参照してください
SELECT XYZ … AS SELECT A… AS SELECT B… AS SELECT C…
SELECT C
、SELECT B
およびSELECT A
の実行後に、SELECT XYZ
のみがリダクションされます。 -
WHERE句はリダクションされません。Oracle Data Redactionでは、
SELECT
リスト内の列のデータのみがリダクションされます。