Pregunta:

Pregunta:

Utilizo LibreOffice Base para crear informes semanales. Tengo una tabla (llamada time_spent) que contiene una gran cantidad de datos normalizados y estoy usando vistas para realizar el procesamiento necesario para producir los informes que necesito.

Cada semana agrego nuevos datos a esa tabla y quiero exportar informes nuevos solo para esa semana.

En lugar de volver a crear todas las vistas que se utilizan para crear mi informecadasemana, esperaba crear una vista llamada time_spent_selection, que es esencialmente SELECT * FROM "time_spent" WHERE "week" = '2015-04', y usarla para ensamblar todas las vistas posteriores. Cada semana entonces sólo tendría que cambiar esa WHEREcláusula y automáticamente obtendría los informes de la semana correcta.

Sin embargo, LibreOffice base niega haber guardado los cambios realizados para time_spent_selectionver con el siguiente mensaje de error:

La vista hace referencia a la tabla: errores en la declaración [DROP VIEW "time_spent_selection"]

cuadro de diálogo de mensaje de error ingrese la descripción de la imagen aquí

Aquí bugsestá una de las vistas a las que hace referencia time_spent_selectionen su definición.

Pregunta:

¿Cómo puedo forzar la modificación de esta vista, de la que dependen otras vistas?

Entiendo que, si esto fuera posible, habría que volver a calcular todas las vistas y esto es exactamente lo que quiero.

Respuesta1

Esto puede ser una limitación de la base de datos backend, que de forma predeterminada es HyperSQL Database (HSQLDB) versión 1.8; si está utilizando el backend predeterminado, la documentación se encuentra enhttp://www.hsqldb.org/doc/1.8/guide/ch09.htmly no tiene nada como ALTERAR VISTA o REEMPLAZAR VISTA. Tienes que usar DROP VIEW, que solo está permitido si no hay dependencias.

Tiene la opción de actualizar a la versión actual de HSQLDB (versión 2.3), que admite la instrucción ALTER VIEW (http://hsqldb.org/doc/guide/guide.html#dbc_view_creation). La GUI probablemente aún no admita la transacción, pero podría usar la ventana Herramientas->SQL para emitir directamente el comando ALTER VIEW a la base de datos. Las instrucciones sobre cómo actualizar el componente de la base de datos a la versión 2.3 se encuentran en este hilo del foro:[Tutorial] Dividir una "base de datos HSQL integrada"

Alternativamente, en lugar de codificar una fecha particular en el SQL de la vista, haga que la vista haga referencia a una tabla de filtro/ficticia para la fecha. Luego puede simplemente abrir la tabla "reportDate" de una columna y una fila y modificar la fecha allí cada semana sin tocar la vista.

información relacionada