воскресенье, 2 января 2011 г.

FGA: restrict on row level

--
BEGIN
dbms_rls.drop_policy(object_schema => 'test',
object_name => 'rls',
policy_name => 'test_policy');
dbms_rls.add_policy(object_schema => 'test',
object_name => 'rls',
policy_name => 'test_policy',
function_schema =>'test',
policy_function => 'subfun.policy_function',
policy_type => dbms_rls.SHARED_STATIC);

END;
--
09:18:43 22 169 TEST@orcl> create package test.subfun as FUNCTION policy_function (object_schema IN VARCHAR2, object_name VARCHAR2)
09:18:55 2 RETURN VARCHAR2;
09:19:02 3 end
09:19:04 4 ;
09:19:05 5 /
--
09:20:38 22 169 TEST@orcl> create or replace package body test.subfun as FUNCTION policy_function (object_schema IN VARCHAR2, object_name VARCHAR2)
09:20:53 2 RETURN VARCHAR2 is begin return 'id = 1'; end;
09:20:59 3 end;
09:20:59 4 /

Package body created.


09:34:11 22 170 TEST@orcl> select * from rls;

ID
------------------------------------
1.0

1 row selected.

09:37:18 22 4294967295 SYS@orcl> select * from test.rls;

ID
------------------------------------
1.0
3.0

2 rows selected.

Комментариев нет:

Отправить комментарий

Update BLOB

set define off DECLARE    vb1 CLOB := 'long text';    vb2 CLOB :=                 'long text';    vb3 CLOB :=              ...