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

Home -> Community -> Usenet -> c.d.o.server -> Re: PL/SQL Function Calls

Re: PL/SQL Function Calls

From: Billy <vslabs_at_onwe.co.za>
Date: 6 Jun 2005 23:26:17 -0700
Message-ID: <1118125577.718019.157940@g44g2000cwa.googlegroups.com>


Mladen Gogala wrote:

> Oracle's procedures are "compiled" and stored in the database in their
> "compiled" form. Oracle determines execution path as a part of compilation.
> How would Oracle determine execution path if not all elements are known?
> That is the answer to your question.

Not really correct as it is only one side of the coin.

Correct in that stored code has run-time dependancies. Changing those objects that are dependant on at run-time, invalidates the actual code itself. Typical example is a package that uses a view, but also attempts to re-create the view under certain conditions. As soon as that view is re-created, the package invalidates itself.

There is however a RTTI (Run-Time Type Information) interface in Oracle for PL/SQL - the data dictionary. It tells you the name of the object (proc/func) and its parameters and the parameter types.

There is also DBMS_SQL and EXECUTE IMMEDIATE for dynamically creating code for execution during run-time.

On the SQL side there is the weak cursor type.

All these allows you to create a dispatch interface where Oracle does not know at compilation time the execution path, nor the caller at run-time. I.e. a complete abstract call interface as you will find in other languages when dealing with RTTI and dispatchers.

--
Billy
Received on Tue Jun 07 2005 - 01:26:17 CDT

Original text of this message

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