0
我正在嘗試創建一個限制數據庫訪問的虛擬專用數據庫。我被困在如何限制用戶查看所有列。我的任務要求將用戶限制爲兩列:Oracle VPD列限制
設計和實施限制數據庫訪問的虛擬專用數據庫。您的設計應基於您的兩列和兩張表格。 (提示:其中col1 = value1 AND 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聲明是假設所有的限制,但在查詢中指定的列,但所有列仍顯示。