PDA

Ver la Versión Completa : Problemas de Oracle


Red_Delphi
09-02-2004, 11:52:41
quiero hacer un create table en Oracle y luego un Rollback, pero esto no funciona asi de facil.
quisiera mediante Delphi, poder tener controlado este proceso, bien por una transacción o como sea, para que haga el create table, y en el caso de un error hiciera el rollback de dicha creación.
cosa que en oracle a secas, tampoco funciona.
espero vuestra ayuda. gracias.

saludos.

delphi.com.ar
09-02-2004, 14:44:46
Las transacciones solo funcionan entre sentencias DML (Data Manipulation Language), que son aquellas que cambian o consultan información pero no estructuras en la base de datos (SELECT, INSERT, UPDATE, DELETE). Las instrucciones DDL (Data definition language) que son aquellas para crear, borrar o modificar la estructura en la base de datos (DROP, CREATE, ALTER...), no solo no pueden ser manejadas dentro de una transacción, sinó que cuando se ejecuta un sentencia de este tipo, se produce automáticamente un COMMIT antes de ser procesada.

Saludos!

jachguate
09-02-2004, 14:53:57
Es que en oracle las sentencias DDL no forman parte de ninguna transacción.

Create, alter, drop, etc. van directo a la base de datos, sin posiblidad de rollback. Lo que te recomiendan es un buen backup... y un buen DBA que se encargue del proceso.

Hasta luego.

;)