Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Why can't a variable have the same name as a table ...
I had something like this and it was because I had access to the table
through a role,
After reading the manuals for about a week. I found that you can't create a
stored object using rights assigned through a role. Unfortunately Oracle
generates an incorrect message for this.
Try creating a view on the table and you will see the message that ought to
have been given.
In order to create stored procedures you will need the DBA to give rights
directly to your userid.
<thalabi_at_my-deja.com> wrote in message news:7phbs2$3sv$1_at_nnrp1.deja.com...
> Hi,
>
> When I create the following procedure;
> ----------------------------------------------------
> create or replace procedure customer_add (
> customer customer.name%type)
> as
> begin
> insert into customer values (customer_add.customer);
> end;
> ----------------------------------------------------
> I get the error;
> PLS-00356: 'CUSTOMER' must name a table to which the user has
> access
>
> The message is kind of bogus because I DO have access to the table
> customer and if I change the variable name from customer to cust the
> procedure compiles ok. I think the problem is having a local variable
> the same as a table name.
>
> What is the work around? I must have the paramter named customer and not
> something else.
>
> Regards
> TH
>
>
> Sent via Deja.com http://www.deja.com/
> Share what you know. Learn what you don't.
Received on Mon Aug 23 1999 - 16:14:50 CDT