データベースアクセスを制限する仮想プライベートデータベースを作成しようとしています。ユーザーがすべての列を表示しないように制限する方法について悩んでいます。私の割り当てでは、ユーザを2列に制限するように求められています。Oracle VPD列の制限
データベースアクセスを制限する仮想プライベートデータベースを設計して実装します。デザインは、2つの列と2つのテーブルに基づいている必要があります。 (ヒント:col1 = value1、col2 = value2)。ここで
が私の現在のDDL文です:
CREATE OR REPLACE FUNCTION auth_client(
v_schema IN VARCHAR2,
v_objname IN VARCHAR2)
RETURN VARCHAR2 AS
con VARCHAR2 (200);
BEGIN
con := 'SALES_REP_ID = 4111';
RETURN (con);
END auth_client;
/
BEGIN
DBMS_RLS.ADD_POLICY (
object_schema => 'general_manager',
object_name => 'client',
policy_name => 'client_policy',
policy_function => 'auth_client',
sec_relevant_cols => 'sales_rep_id');
END;
/
私の理解から、SEC_RELEVANT_COLS文は、クエリ内のすべてが、指定された列を制限することとしたが、すべての列がまだ表示されています。