Re: general sql select procedure

  • From: "LS Cheng" <exriscer@xxxxxxxxx>
  • To: s.saravalli@xxxxxxxxx
  • Date: Wed, 26 Apr 2006 10:57:08 +0200

hi

You have to use dynamic SQL instead of static SQL

On 4/26/06, Simone Saravalli <s.saravalli@xxxxxxxxx> 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
> --
> //www.freelists.org/webpage/oracle-l
>
>
>

Other related posts: