Necesito modificar consulta de vista materializada. Es posible hacer lo mismo sin dejarlo caer y volver a crearlo.Modificar consulta de vista materializada
Respuesta
Usted FUERZA ser capaz de hacer uso de la MT existente como la fuente de un prebuilt table for the new MV
Mucho depende de lo que está haciendo a la consulta por supuesto. Si está agregando una columna, por ejemplo, necesitará actualizar todo para obtener su nuevo valor.
PS. La forma más rápida de convertir el MV existente en una mesa sería el intercambio de partición, pero ten cuidado con gotchas. Luego manipula la tabla para que coincida con el nuevo conjunto de resultados y cree la nueva MV basada en la tabla manipulada.
Puede dejar el mview en su lugar. Si su preocupación es minimizar el tiempo de inactividad mientras el nuevo mview crea una instancia (porque no usó una tabla precompilada), puede hacer lo siguiente.
- crear una nueva tabla llamada mview_1 en la mesa de pre-compilados
- Una vez que se ha creado se puede soltar el viejo
- crear o sustituir vista mview como seleccionar * de mview_1
Ahora, cada vez que necesite reconstruir podrá hacerlo con poco o ningún tiempo de inactividad, ya que puede señalar fácilmente la vista a la nueva tabla/mview en el futuro.
Para las condiciones en las que no está seguro si existe el MVIEW o no (que es lo que CREA O REEMPLAZA es realmente bueno), uso;
BEGIN
EXECUTE IMMEDIATE 'DROP MATERIALIZED VIEW name_of_mview';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -12003 THEN
dbms_output.put_line('MVIEW does not exist, which was somewhat expected');
ELSE
RAISE;
END IF;
END;
/
CREATE MATERIALIZED VIEW name_of_mview ... AS SELECT ...
No, no puede modificar la consulta de una vista materializada sin soltarla.
La sintaxis CREATE MATERIALIZED VIEW no es compatible con esta característica.
El ALTER vista materializada se utiliza para modificar una existente materializado vista en una o más de las siguientes maneras:
- Para cambiar sus características de almacenamiento
- para cambiar su método de actualización, el modo, o el tiempo
- para alterar su estructura de modo que es un tipo diferente de materializado vista
- Para habilitar o deshabilitar la consulta reescribir
Ver Oracle 12c Release 1 Manual para:
CREAR vista materializada sintaxis: http://docs.oracle.com/cd/E16655_01/server.121/e17209/statements_6002.htm#i2145767
ALTER vista materializada sintaxis: http://docs.oracle.com/cd/E16655_01/server.121/e17209/statements_2002.htm#SQLRF00808
- 1. MongoDB - Vista materializada/Agregación de estilo OLAP
- 2. Ref. De vista materializada al confirmar
- 3. ¿Cómo implementar Vista Materializada con MySQL?
- 4. ¿Hay alguna forma de consultar los cambios realizados por una actualización materializada de vista materializada en Oracle?
- 5. ¿Cómo se puede crear una vista materializada en sqlite?
- 6. Cómo refrescar la vista materializada en el oráculo
- 7. Actualización vista materializada cuando las tablas urderlying cambian
- 8. Vista Materializada vs. Tablas: ¿Cuáles son las ventajas?
- 9. ¿Es posible actualizar parcialmente una vista materializada en Oracle?
- 10. Creando una vista materializada que se renueva cada 5 minutos
- 11. Consulta frente a vista
- 12. Este método no es compatible en contra de un resultado de consulta materializada
- 13. Clasificación de árbol con una ruta materializada?
- 14. Patrón de ruta materializada VS Hierarchyid
- 15. Oracle: cómo crear una vista materializada con FAST REFRESH y se une a
- 16. Oracle: confusión de la vista materializada (¿está equivocado el IDE de Toad al mostrar MV en la sección de tablas?)
- 17. ¿Exigir integridad referencial en la ruta materializada?
- 18. Cómo interceptar y modificar consulta SQL en Linq a SQL
- 19. SQLAlchemy ORM: modificar las columnas devueltas por una consulta
- 20. Modificar la vista basada en ACL en CakePHP
- 21. Consulta SQL - Seleccione * de la vista o Seleccione col1, col2, ... colN de la vista
- 22. Microsoft Access 2007: ¿consulta de vista utilizada en el informe?
- 23. Modificar solicitud POST en mod_perl2
- 24. Modificar una vista de contenedor de animación de iPhone antes de comenzar la animación
- 25. ¿Dónde puedo modificar el código de vista de administrador para una aplicación de terceros?
- 26. Modificar queryset predeterminado en django
- 27. Cómo mostrar la consulta ejecutada por la vista Drupal
- 28. SQL: ¿Cómo crear una vista desde una consulta recursiva?
- 29. ¿Cuál es la vista o sub consulta más rápida?
- 30. Modificar el MBR de Windows
tiempo de inactividad puede ser cero si apuntas tus consultas y código a un sinónimo (o vista estándar) y lo cambias del wro ng vista materializada a la nueva (y viceversa cuando tenga que modificarla de nuevo). La creación de la vista materializada puede llevar todo el tiempo que necesite, simplemente cambie el puntero cuando esté listo en cuestión de milisegundos. –