Hola Francisco,

Francisco Martagón Gordillo escribió:
> ¡Genial! funionó muy bien creando una vista a través de la consulta, lo
> que crea una tabla, y ésta sí que se puede volcar a la tabla que deseo.

hablando con propiedad, eso no es una *tabla* sino una *vista*. Ambos
objetos existen del lado del servidor (a diferencia de las consultas,
formularios, reportes ... que existen sólo del lado del cliente,
encapsulados dentro del archivo de OOo Base)... tal cual te has dado
cuenta tú mismo:

> Esa tabla creada, entonces, ¿no es una tabla de verdad? sino simplemente
> una "vista", es decir, no ocupa realmente más espacio en la base, ¿No es
> cierto?

citando http://hsqldb.org/doc/guide/ch09.html#create_view-section

"A view can be thought of as either a virtual table or a stored query.
The data accessible through a view is not stored in the database as a
distinct object. What is stored in the database is a SELECT statement.
The result set of the SELECT statement forms the virtual table returned
by the view. A user can use this virtual table by referencing the view
name in SQL statements the same way a table is referenced."


> Y por último, intenté hacerlo también desde una instrucción SQL y aquí
> fallé. Ejecuté la siguiente instrucción:
> * * *
> INSERT INTO "Calificaciones" ("IdAlumno", "IdCriterioEvaluacion",
> "IdActividad") SELECT "IdAlumno", "IdCriterioEvaluacion", "IdActividad"
> FROM SELECT "Alumnos"."IdAlumno",
> "CriteriosEvaluacion"."IdCriterioEvaluacion",
> "CriteriosEvaluacion"."IdActividad"
> * * *
> Pero obtuve el siguiente mensaje de error:
> 
> * * *
> 1: Unexpected token: SELECT in statement [INSERT INTO
> "Calificaciones" ("IdAlumno", "IdCriterioEvaluacion", "IdActividad")
> SELECT "IdAlumno", "IdCriterioEvaluacion", "IdActividad" FROM SELECT]
> * * *
> 
> Entiendo que lo que me trata de decir es que no "espera" la sentencia
> SELECT. He probado a encerrarla entre paréntesis, pero entonces recibo
> también errores. He hecho distintas pruebas y siempre se "queja" del
> paréntesis de cierre.
> 
> Seguramente estaré cometiendo un error de sintaxis. ¿Me podrían ayudar a
> identificarlo?

en tu instrucción de arriba te falta un FROM de "SELECT ... FROM ...".

Como ejemplo, la siguiente instrucción algo tonta funciona con la base
que uso de ejemplo:

INSERT INTO "CLIENTES" ("nombre", "apellido")  (SELECT "nombre",
"apellido" FROM ( SELECT * FROM "CLIENTES") )


Juega aplicando este ejemplo a tu base (mejor en una copia de seguridad!!!)


Saludos
Ariel.


-- 
Ariel Constenla-Haile
La Plata, Argentina


"Aus der Kriegsschule des Lebens
                - Was mich nicht umbringt,
        macht mich härter."
                Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a