Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/01/2010, 03:34
jc3000
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 8 meses
Puntos: 43
Respuesta: tabla inaccesible tras alter table

Cita:
Iniciado por royer45 Ver Mensaje
buenas de nuevo,

no me han engañado, ya he dado con la solución.
El problema estaba que el objeto tabla al que habia que añadirle la columna, esta referenciado por una vista del mismo owner, y a su vez esta vista estaba referenciada por un sinonimo con owner publico, accesible para todos los usuarios de la bbdd.

Al añadirle una columna a la tabla, habia que volver a recrear la vista, para que así todos los usuarios puedan tener acceso a la "tabla" mediante el sinonimo.

En el manual de oracle versión 9 aparece una nota que dice que hay que tener precaución al alterar una tabla si esta esta referenciada por otros objetos.

Efectivamente podría haberlo probado con una tabla de usar y tirar, pero si no lo he hecho, es porque no me dejaban.

Saludos y gracias.
Pues tal vez, ( solo tal vez ) podrías haber puesto en el primer post esto que aclaras ahora, hubieramos ahorrado algo de tiempo.
Pero ya que estamos, esto que pones no es del todo correcto. Al añadir un campo a una tabla no tienes porque recrear una vista que acceda a esa tabla, a no ser que quieras que la vista contenga el nuevo campo. Al hacer el ALTER TABLE automaticamente la vista se descompila ( Se queda en STATUS = INVALID ), pero con un simple ALTER VIEW XXXXXX COMPILE, lo arreglas, e incluso es posible que ni siquiera lo tengas que hacer. Al acceder a un objeto que está descompilado Oracle automaticamente intenta recompilarlo si puede, eso es totalmente transparente y si no puede, te salta un error.

¿ No te dejaban hacer pruebas ?, luego te exigirán buenos resultados ¿ no ?