![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Oracle has no ON UPDATE CASCADE clause, as far as I know -- hence my question: how to proceed when there is no such clause.
|
|
#2
|
|||
|
|||
|
El codigo que yo he puesto es para IB, quizas el formato para Oracle sea distinto. En la ayuda de la creacion de FK debe aparecer algo. Si no lo permitiera, podrias deshabilitar la regla de integridad, realizar los cambios en las dos tablas y volver a habilitar la regla de integridad. Digo deshabilitar y habilitar, no eliminar y volver a crear.
Esto se que se puede hacer en Oracle, porque lo hice en unas practcas de la carrera pero no recuerdo como.
__________________
J. Adolfo Núñez |
|
#3
|
|||
|
|||
|
Otra opción sería crear triggers que te hicieran el proceso del Update Cascade (que de echo, es lo que se monta internamente)
|
|
#4
|
|||
|
|||
|
La opción de deshabilitar la restricción de integridad referencial no es posible, porque haría falta dar al usuario el privilegio ALTER TABLE, cosa que no queremos -- es demasiado comprometido.
Por otra parte, perdoname el lapsus al contestar en Inglés esta mañana -- fue involuntario. Jim Fleming |
|
#5
|
|||
|
|||
|
Bueno, pues mi ideas se van acabando.
Una cosa mas. Imagina por un momento, que el usuario puede ejecutar un procedimiento almacenado, el cual, se puediera auntifica como usuario con el privilegio Alter Table, aunque el usuario que lanzo el procedimiento no tenga dicho privilegio. Si esto fuera posible, con poner en el procedemiento almacenado, el codigo necesario para deshabilitar la FK, realizar los cambios y volver a habilitar la restricción estaría hecho. Ya digo que no se si esto es posible. Un saludo
__________________
J. Adolfo Núñez |
|
#6
|
|||
|
|||
|
De hecho, las modificaciones de la base de datos se hacen desde un procedimiento almacenado, pero con los privilegios del usuario normal, no con los de un usuario confiado ni los del administrador del sistema.
Se puede realizar una operación de mayor privilegio desde un SP que ha sido llamado por un usuario de menor nivel de privilegio ??? Como ??? Jim Fleming |
|
#7
|
|||
|
|||
|
Eso ya no se si es posible en Oracle, tendras que mirar en la documentacion. Simplemente era una idea, no se si se podra llevar a cabo.
__________________
J. Adolfo Núñez |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|