Re: another PLS-00201
Date: 24 Jul 2003 00:43:05 -0700
Message-ID: <a1d154f4.0307232343.458f4368_at_posting.google.com>
windos <windosab_at_yahoo.com> wrote in message news:<3145998.1059012752_at_dbforums.com>...
> Guys,
>
> I'm newbie here and tryin to create a simple procedure :
> ----
> CREATE OR REPLACE PROCEDURE update_status IS
> CURSOR cekstat is
> select b.CREATOR_PROC_INST_ID,
> b.MANAGED_FILE_ID,
> d.JOB_STATUS
> from other.rejprocesslog a,
> admin.managedfile b,
> admin.jobhasfile c,
> admin.job d
> where a.FILE_STATUS_ID=0
> and a.TO_DETIL_STAT=0
> and b.CREATOR_PROC_INST_ID=a.PROCESS_ID
> and b.MANAGED_FILE_ID=a.MANAGED_FILE_ID
> and c.MANAGED_FILE_ID=b.MANAGED_FILE_ID
> and d.JOB_ID=c.JOB_ID
> for update;
> BEGIN
> FOR rec in cekstat
> LOOP
> update rejprocesslog
> set rejprocesslog.FILE_STATUS_ID=cekstat.JOB_STATUS
> where rejprocesslog.MANAGED_FILE_ID=cekstat.MANAGED_FILE_ID;
> END LOOP;
> COMMIT;
> END update_status;
> /
> --
> But i got this error : PLS-00201: identifier 'ADMIN.MANAGEDFILE' must
> be declared.
> I've red couple of message like this posted in dbforums, but still i had
> the same error. the MANAGEDFILE,JOB and JOBHASFILE tables are already
> have synonims.
>
> Is there any ideas for this problems ??
>
> thank you.
>
> rgds,
> windos
You must have privilege through a role. Roles are ignored during
compilation of stored procedures, as roles are volatile. Roles are not
ignored in anonymous blocks.
You need to add
authid current_user
before the IS, when you are using 8i
Before 8i the user running the procedure must have been granted
privilege directly
Regards
Sybrand Bakker
Senior Oracle DBA
Received on Thu Jul 24 2003 - 09:43:05 CEST