Problem with a procedure
From: <mowinom_at_hotmail.com>
Date: Tue, 8 Apr 2008 09:26:45 -0700 (PDT)
Message-ID: <433ffd30-b1de-49bb-9125-569c1103d8c0@q10g2000prf.googlegroups.com>
Date: Tue, 8 Apr 2008 09:26:45 -0700 (PDT)
Message-ID: <433ffd30-b1de-49bb-9125-569c1103d8c0@q10g2000prf.googlegroups.com>
Hi all,
I have two tables; vpd_tabell_v and USER_POLICIES.
vpd_tabell_v contains all the table names that we plan to secure with VPD while the table USER_POLICIES has all the tables that have already been secured with VPD. What I am trying to do is find out in vpd_tabell_v which tables have not been secured yet then print them out.
I've written the procedure below to assist in achieving this. It compiles fine but when I run it, it does not supply the desired result. Any help is greatly appreciated.
-- Mark CREATE OR REPLACE PROCEDURE p_add_vpd_34 IS CURSOR kk IS SELECT object_name FROM USER_POLICIES; ka kk%ROWTYPE; BEGIN OPEN kk; LOOP FETCH kk INTO ka; for x in ( SELECT table_name FROM vpd_tabell_v ) loop IF x.table_name NOT IN (ka.object_name) THEN DBMS_OUTPUT.put_line ('Table name: '||x.table_name); END IF; End loop; EXIT WHEN kk%NOTFOUND; END LOOP; CLOSE kk; END; SQL> exec p_add_vpd_34 Table name: Person Table name: Dept Table name: Section Table name: Location Table name: Hr Table name: DeploymentReceived on Tue Apr 08 2008 - 11:26:45 CDT
...
...
Table name: Salaries BEGIN p_add_vpd_34; END; * Error on line 1 1: ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes ORA-06512: at "SYS.DBMS_OUTPUT", line 32 ORA-06512: at "SYS.DBMS_OUTPUT", line 97 ORA-06512: at "SYS.DBMS_OUTPUT", line 112 ORA-06512: at "P_ADD_VPD_34", line 16 ORA-06512: at line 1