Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Oracle Miscellaneous > Re: Problem wit...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 7 of 9 Topic 6820 of 7279
Post > Topic >>

Re: Problem with a procedure

by Ed Prochak <edprochak@[EMAIL PROTECTED] > Apr 9, 2008 at 06:49 AM

On Apr 9, 9:11 am, mowi...@[EMAIL PROTECTED]
 wrote:
> On Apr 8, 8:53 pm, Ed Prochak <edproc...@[EMAIL PROTECTED]
> wrote:
>
>
>
> > On Apr 8, 12:26 pm, mowi...@[EMAIL PROTECTED]
 wrote:
>
> > > 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;
>
> > Why are you doing in PL/SQL what can be done in straight SQL?
> > this is a simple not in query, like this:
>
> > SELECT v.table_name
> > FROM vpd_tabell_v v
> > WHERE v.table_name NOT IN
> >   (  SELECT u.table_name from user_policies u );
>
> >  It can be written as a MINUS  operation and as an outer join also.
> > Here's the outer join:
>
> > SELECT v.table_name
> > FROM vpd_tabell_v v, user_policies u
> > WHERE v.table_name=u.table_name(+)
> >   AND  u.table_name is null ;
>
> > Then you don't have to worry about the server buffer for PL/SQL
> > output. Just an example of picking the right tool for the job.
>
> > --
> > Magic Interface, Ltd.www.magicinterface.com
> > 440-498-3700
> > Hardware/Software Alchemy- Hide quoted text -
>
> > - Show quoted text -
>
> Ed,
>
> Your solution helped fix my problem but had to use it in a procedure
> to print using the DBMS_OUTPUT.PUT_LINE function.
>
> Thanks a lot :-)
> Mark

Was this a school assignment? Why else would you NEED PUT_LINE()??

  Ed
 




 9 Posts in Topic:
Problem with a procedure
mowinom@[EMAIL PROTECTED]  2008-04-08 09:26:45 
Re: Problem with a procedure
"fitzjarrell@[EMAIL   2008-04-08 10:06:43 
Re: Problem with a procedure
Ed Prochak <edprochak@  2008-04-08 11:53:16 
Re: Problem with a procedure
mowinom@[EMAIL PROTECTED]  2008-04-09 00:41:14 
Re: Problem with a procedure
Frank van Bortel <fran  2008-04-09 13:32:43 
Re: Problem with a procedure
mowinom@[EMAIL PROTECTED]  2008-04-09 06:11:19 
Re: Problem with a procedure
Ed Prochak <edprochak@  2008-04-09 06:49:41 
Re: Problem with a procedure
mowinom@[EMAIL PROTECTED]  2008-04-09 07:11:49 
Re: Problem with a procedure
mowinom@[EMAIL PROTECTED]  2008-04-09 07:15:18 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Mon Dec 1 21:03:05 CST 2008.