Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda sobre CREATE VIEW

Estas en el tema de Duda sobre CREATE VIEW en el foro de Mysql en Foros del Web. Me gustaría saber si para hacer una copia exacta de la tabla tengo que usar: CREATE VIEW vista AS SELECT * FROM tabla_original Me refiero ...
  #1 (permalink)  
Antiguo 18/09/2009, 05:54
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 1 mes
Puntos: 3
Duda sobre CREATE VIEW

Me gustaría saber si para hacer una copia exacta de la tabla tengo que usar:

CREATE VIEW vista AS SELECT * FROM tabla_original

Me refiero a si la sentencia es correcta así. Gracias ;)
  #2 (permalink)  
Antiguo 18/09/2009, 06:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Duda sobre CREATE VIEW

Ua vista no es una tabla. Es una sentencia SELECT predefinida, basicamente que devuelve una vista (VIEW) obtenida de una o más tablas que se relacionaron en la sentencia.
Si lo que quieres es crear una copia de la tabla la sentencia es
Código SQL:
Ver original
  1. CREATE TABLE tablacopia AS
  2. SELECT *
  3. FROM tabla;
Como advertencia, es posible que se produzcan ciertos cambios implícitos en los tipos de columna, según cómo se realice el SELECT, así como también debes tener en cuenta que este método no copia ni índices ni claves (sean PK o FK).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/09/2009, 06:59
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 1 mes
Puntos: 3
Respuesta: Duda sobre CREATE VIEW

Me expliqué mal, no quiero tener un a copia. Tengo 2 webs y quiero que ambas tengan usuarios comunes. Si ambas webs fueran creadas por mí las mandaría a ambas a la misma tabla, pero no puedo hacerlo, digamos que la web_A busca a los usuarios en la tabla usuarios_A y la web_B en usuarios_B.

He hecho un VIEW de la tabla usuarios_A que se llama usuarios_B. Así, mi web_B recoge los usuarios de la tabla usuarios_A.

Quería saber simplemente si la sentencia era correcta para hacer esto que quiero. Lo he hecho así y parece que funciona bien. Es correcto?

P.D.: obviamente quiero también que cuando un usuario se registra en la web_B aparezca también en la web_A.
  #4 (permalink)  
Antiguo 18/09/2009, 07:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Duda sobre CREATE VIEW

para que la cosa funcione, ambas bases de datos (independientemente de qué web acceda a ella), deben estar en el mismo servidor. De lo contrario no podrán acceder a ellas.
El detalle es que una vista pertenece a una base, y sólo a ella. Lo que si puede hacer es acceder a datos de otra base, en tanto cumpla con el requisito que te menciono: deben estar en el mismo servidor de BBDD.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 18/09/2009, 09:56
Avatar de ldp
ldp
 
Fecha de Ingreso: marzo-2005
Ubicación: Por fin, en mi nueva casa!
Mensajes: 617
Antigüedad: 19 años, 1 mes
Puntos: 3
Respuesta: Duda sobre CREATE VIEW

Sí, tanto la "tabla_A" como las vistas están en la misma base de datos. Entonces la sentencia está bien? Por ahora funciona bien.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:13.