Recompilar vistas

alexv
23 de Febrero del 2006
Buenos dias,

Necesito saber como recompilar las vistas.

Muchas gracias.

eddie_
23 de Febrero del 2006
Ejecutando el 'create or replace..' de nuevo. A que le llamas recompilar vistas?

Jor-El
23 de Febrero del 2006
Si te he entendido bien, las vistas se recompilan igual que cualquier paquete, función, procedure.......

SQL > ALTER VIEW NOMBRE_DE_LA_VISTA COMPILE;
VIEW ALTERED
SQL>

chemian
23 de Febrero del 2006
te refieres a vistas normales o materializadas?

si son materializadas seria:

dbms_snapshot.refresh('nombre de la vista');

alexv
23 de Febrero del 2006
Os explico mejor el caso para veais lo que quiero hacer.

He restaurado una exportacion de un servidor oracle a otro, y al teminar me ha creado las vistas pero como invalidad. A traves del Database control, en administracion , vistas, puedo seleccionarlas y compilar.
Seria esto mismo pero a traves del sqlplus.

Gracias.

Jor-El
23 de Febrero del 2006
Mira a ver si te sirve esto.

Lanzalo en el plus y lo que te devuelva copy-paste

select 'alter '||decode (object_type, 'PACKAGE BODY', 'PACKAGE', OBJECT_TYPE)
||' '||owner||'.'||OBJECT_NAME||' '||decode(object_type, 'PACKAGE BODY','COMPILE BODY', 'COMPILE')
FROM ALL_OBJECTS WHERE
status ='INVALID'
ORDER BY OWNER, OBJECT_TYPE, OBJECT_NAME;

alexv
23 de Febrero del 2006
Jor-El Eres un monstruo. Me ha ido de coña

1000 Gracias a todos.

Jor-El
23 de Febrero del 2006
Me alegro de que te haya servido......

Yo es que soy mu vago y tengo cantidad de scripts de esos para currar menos, je je je je.

Si necesitas mas ayuda, ya sabes donde estoy