Re: Why Oracle does not allow rollback of DDL statements?

From: Noons <wizofoz2k_at_yahoo.com.au>
Date: Mon, 10 Nov 2008 22:49:33 +1100
Message-ID: <gf972b$581$1@registered.motzarella.org>


Thomas Kellerer wrote,on my timestamp of 10/11/2008 8:02 PM:

>
> >> I was learning SQL Server few months ago and I noticed that SQL Server

>>> does allow rollback of DDL statements if I am not mistaken.
>>
>> It does not.

> Yes it does (Note that I do not like SQL Server at all, but that is

No, it does not. Don't try that rubbish with me, I've been breathing SS2K5 for the last 14 months. It does not. The front end you most likely use to access it does allow that. But that is not SQL Server.

> There might not be a requirement, but it *is* very handy.

No it is not. Try having a process that relies on dropping a table to succeed and another that relies on a create index on that table. Which one is supposed to end first, when?

> Just think of an database upgrade script that fails in the middle. With
> transactional DDL I simply do a rollback fix the cause of the error and
> start the script again. With non-transactional DDL I need to remove all
> objects that were created until then to put the DB into the state before
> I ran the script.

So what? Test the script first. Databases are not to be managed like digital photography where if you don't like something you erase it. Databases are to be handled by supposedly responsible folks who presumably now what they are doing. The last thing a db needs is the
"bang-head-on-wall-until-something-gives" approach. Received on Mon Nov 10 2008 - 05:49:33 CST

Original text of this message