add_info AS (SELECT empno, json_array( json_object('SAL' VALUE sal, 'COMM' VALUE comm ) format json returning clob) AS money FROM emp) SELECT e.empno, e.ename, e.job, a.money as "{}money" FROM emp e JOIN add_info a ON a.empno = e.empno where e.empno = :id
object_name => 'EMP', policy_name => 'NAZOV_POLICY', function_schema => 'APEX_DAY', policy_function => 'my_security_policy', sec_relevant_cols => 'SAL,COMM' ); END; CREATE OR REPLACE FUNCTION apex_day.my_security_policy(object_schema IN VARCHAR2, object_name VARCHAR2) RETURN VARCHAR2 AS l_cnt number; BEGIN -- Tu môžete pridať logiku pre vytvorenie bezpečnostných pravidiel SELECT count(*) into l_cnt FROM user_ords_clients where name = 'SPION' and client_id = SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER'); RETURN l_cnt ||'= 0'; END; Obmezenie na zobrazovanie hodnot v stlpci SAL a COMM
ktoré obmedzujú prístup k dátam na základe atribútov riadku, používateľských práv, alebo iných kontextových informácií… Dynamické Pravidlá: Pravidlá môžu byť dynamicky menené na základe meniaceho sa kontextu, bez potreby zmeny samotného SQL dotazu. Vysoká Flexibilita: VPD politiky môžete použiť na tabuľky, pohľady alebo synonýma