Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Bind Variable -- Implicit Cursor

Re: Bind Variable -- Implicit Cursor

From: Edgar Chupit <chupit_at_gmail.com>
Date: Tue, 21 Dec 2004 07:58:05 +0200
Message-ID: <a8f0771c041220215847bf8f1d@mail.gmail.com>


When you use SQL inside PL/SQL routines, PL/SQL engine preprocesses all SQL's and automatically replaces all PL/SQL variables to bind variables and that's one of the advantages of PL/SQL it helps you to write correct (reusable) SQL statements.

So, in your case you can simply write: select object_name from all_object where object_id=i and PL/SQL engine will do all work for you, but note that if you will write select object_name from all_object where object_id=1 PL/SQL engine will leave all as is without turning =1 into bind variable. You can always check what SQL's was executed using SQL_TRACE facility.

On Mon, 20 Dec 2004 13:58:34 +0500, Fahd Mirza <fahd-m_at_aero.com.pk> wrote:
> Hi listers,
> I am afraid, I am going to ask a very simple question. I am trying to learn the Bind Variables. I know what are they and how they can be used in explicit cursor. But I am at loss at how they would he used in implicit cursor. E.g. the following PL/SQL block uses the bind variable explicit cursor and it works fine.
> declare
> type rc is ref cursor;
> l_rc rc;
> l_dummy all_objects.object_name%type;
> begin
> for i in 1...1000
> loop
> open l_rc for
> 'select object_name from all_object where object_id=:x' using i;
> fetch l_rc into l_dummy;
> close l_rc;
> end loop;
> end;
> /
>
> I want to use the bind variable ':x' in implicit cursor like this
>
> declare
> begin
> for i in (select object_name from all_object where object_id=:x' using i)
> loop
> end loop;
> end;
> /
> but the above code with For Loop cursor is giving errors. I would be extremely grateful for guidance.
>
> regards,
> Fahd
>
> --
> http://www.freelists.org/webpage/oracle-l
>

-- 
  Edgar
--
http://www.freelists.org/webpage/oracle-l
Received on Mon Dec 20 2004 - 23:53:25 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US