Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Global (and local) Temporary Tables & PL/SQL

Re: Global (and local) Temporary Tables & PL/SQL

From: Mladen Gogala <>
Date: Wed, 04 Apr 2007 18:53:35 -0400
Message-id: <>

On 04/04/2007 02:07:25 PM, Brady, Mark wrote:

> Could you add a DDL trigger on before alter of that package to check
> existence of the table and create it if missing? The package will still
> go invalid but compile the first time.

If I was a believer, this would be the right time to say "oh my God"! PL/SQL is a procedural language, not meant to be used for DDL. This application should be completely re-engineered. How can people abuse a decent, non-suspecting relational database like that? It's people like you that make a good and honest DBA like me support torture. Developers doing this kind of crap should be shipped to Guantanamo and taught by water boarding that PL/SQL should operate on an existing schema and permanent objects, already in the schema. Oracle has local temporary tables. They're called "REF cursors" An attempt to emulate the SQL Server behavior is not only a sign of terminal stupidity, it will create a horrible application that will invalidate dependent procedure and itself, create dictionary and parsing locks, cause checkpoints and waste CPU on reparsing. What you need in that picture is RAC for the joy to be complete. Oracle is not a SQL server and one should never make it behave like that. That is how suboptimal applications are created. The next step is that CIO comes to the DBA and tells him that the "database is slow" at which point the DBA quits or grabs the nearest blunt object.
One personal question: what makes you think that you're qualified to dispense such advice? If today was April the 1st, I'd go with the flow, but this is just completely outrageous. I hope that the two of us will never work together.

Mladen Gogala

Received on Wed Apr 04 2007 - 17:53:35 CDT

Original text of this message