FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas de Oracle
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. |
#2
|
||||
|
||||
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!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
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.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|