Pregunta

¿Hay alguna limitación en la funcionalidad de vistas SQL para MySQL?

por ejemplo:? ¿Se puede crear una vista de tabla usando 'JOIN' comandos

¿Fue útil?

Solución

Debe leer restricciones Vistas para detalles en vista de limitaciones.

Otros consejos

MySQL permite comandos JOIN

MySQL CREATE VIEW sintaxis

Respuesta corta - sí. En dos palabras, ver sólo el nombre de selección (sin orden por supuesto).

Como todo lo demás en SQL, la sintaxis, características y posibilidades dependen del sistema de gestión de base de datos que se está trabajando. Pero unir tablas es algo bastante básico. Las vistas no serían de mucha utilidad sin él.

En cuanto a JOIN, sí:

mysql> create table foo (i int);
Query OK, 0 rows affected (0.03 sec)

mysql> create table bar (i int);
Query OK, 0 rows affected (0.03 sec)

mysql> create view foobar as select foo.i as foo_i, bar.i as bar_i from foo join bar on (foo.i=bar.i);
Query OK, 0 rows affected (0.02 sec)

Pero, como otros señalaron respuestas, el manual es un gran recurso.

  1. Temporal tabla:

    CREATE TEMPORARY TABLE super (id int);
    
    mysql> CREATE OR REPLACE view cat AS SELECT * FROm super;
    
    ERROR 1352 (HY000): View's SELECT refers to a temporary table 'super'
    
  2. Sistema y VARs locales:

    mysql> SELECT @sosize;//1000
    
    mysql> CREATE OR REPLACE view cat AS SELECT *,@sosize FROm super;
    ERROR 1351 (HY000): View's SELECT contains a variable or parameter
    
  3. Las subconsultas:

    CREATE OR REPLACE view cat AS SELECT * FROm SELECT * FROM super;
    ERROR 1349 (HY000): View's SELECT contains a subquery in the FROM clause
    
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top