Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Mailing Lists -> Oracle-L -> Re: general sql select procedure
hi
You have to use dynamic SQL instead of static SQL
On 4/26/06, Simone Saravalli <s.saravalli_at_gmail.com> wrote:
>
> Hi all, I'm working with sql stored procedure and I created these one:
>
> CREATE OR REPLACE PROCEDURE today (tbl_name IN VARCHAR2, old_key IN
> NUMBER) AS
>
> loop_count NUMBER;
>
> BEGIN
> SELECT COUNT(*) INTO loop_count
> FROM tbl_name
> WHERE depno = old_key;
>
> DBMS_OUTPUT.PUT_LINE ('Valore di loop_count: ' || loop_count);
>
> END today;
>
>
> So, tbl_name is an argument passed with
>
> BEGIN
> today ('one_of_my_tables_name', value);
> END;
>
> I would like to have a procedure that works independently from the
> table name provided by the user when calling the today procedure, but
> when I try to compile the code above I receive the following error:
>
> ERROR at line 8: PL/SQL: ORA-00942: table or view does not exist
>
> So it doesn't recognize the tbl_name argument. How can I do to solve
> this problem?
>
> Thanks in advance
>
> Simone Saravalli
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>
-- http://www.freelists.org/webpage/oracle-lReceived on Wed Apr 26 2006 - 03:57:08 CDT