Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: DDL
Howard J. Rogers wrote:
> Richard Foote wrote:
>
>> "Howard J. Rogers" <hjr_at_dizwell.com> wrote in message >> news:419c730a$0$25115$afc38c87_at_news.optusnet.com.au... >> >>> DA Morgan wrote: >>> >>>> Howard J. Rogers wrote: >>>> >>>> >>>>> Rahul Jain wrote: >>>>> >>>>> >>>>>> Why is DDL required to be the last statement in a transaction? >>>>> >>>>> >>>>> >>>>> >>>>> Because there is an implicit commit before and after each and every >>>>> DDL statement. >>>>> >>>>> Regards >>>>> HJR >>>> >>>> >>>> >>>> You are absolutely correct Howard ... but I fail to see what your >>>> answer >>>> has to do with the question. But then its late and I'm tired. >>> >>> >>> >>> Well, I'm no developer, but I was always taught that a transaction >>> starts with some piece of DML and ends when you say 'commit' (or >>> rollback, of course). >>> >>> Insert money into new bank account; >>> Delete money from old account; >>> Commit both changes; >>> >>> If DDL implies a commit, surely that therefore must count as the >>> termination of a transaction? And therefore by definition, the DDL >>> statement becomes the last statement in a transaction. >>> >>> Insert money into new bank account; >>> Delete money from old account; >>> Drop table EMP; >>> >>> ...which achieves exactly the same thing as before. >>> >>> Since both you and Richard appear to agree that a piece of DDL is not >>> necessarily the last statement in a transaction, I guess I must be >>> missing something. Enlightenment from either would therefore be >>> appreciated. >>> >> >> >> Hi Howard, >> >> Oh how the English language can confuse and deceive !! >> >> "A piece of DDL is not necessarily the last statement in a >> transaction" because the last statement in a transaction is generally >> a commit or a rollback !! >> >> Just like you said !! >> >> The way *I* read the question "Why is DDL required to be the last >> statement in a transaction?" is that DDL is *required* to be the last >> statement in a transaction. I'm simply of the opinion that *no* DDL is >> required to be the last statement in a transaction, and that a piece >> of DDL is not necessarily the last statement in a transaction because >> a commit or a rollback *is* generally the last statement of a >> transaction. >> >> Now read my earlier response and hopefully it makes sense. >> >> Sometimes the bleedin obvious isn't so bleedin obvious ... >> >> Cheers >> >> Richard
-- Daniel A. Morgan University of Washington damorgan_at_x.washington.edu (replace 'x' with 'u' to respond)Received on Fri Nov 19 2004 - 18:53:28 CST