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

Problema Con Vistas

Estas en el tema de Problema Con Vistas en el foro de Mysql en Foros del Web. Hola a todos! Bueno el problema que tengo es que estoy empezando a trabajar con vistas en mysql 5.0 pero quisiera saber si existe algo ...
  #1 (permalink)  
Antiguo 26/07/2006, 09:33
 
Fecha de Ingreso: julio-2005
Mensajes: 25
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta Problema Con Vistas

Hola a todos!

Bueno el problema que tengo es que estoy empezando a trabajar con vistas en mysql 5.0 pero quisiera saber si existe algo que me identifique si una vista ya se encuentra creada en una bd expecifica.

De antemano muchas gracias por su ayuda!!
  #2 (permalink)  
Antiguo 26/07/2006, 09:46
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 1 mes
Puntos: 3
Hola, si la vista existe puedes hacer una consulta a tal .

select * from nombre_vista;

Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #3 (permalink)  
Antiguo 26/07/2006, 09:54
 
Fecha de Ingreso: julio-2005
Mensajes: 25
Antigüedad: 18 años, 9 meses
Puntos: 0
Aja entiendo pero la cosa seria que antes de crearla yo pudiera verificar en la misma sentencia de creacion ya que si la vista no existe por ende tendria que crearla pero si existe no tendria q realizar nada.

Porq la idea es q atravez de un script en php yo le pase el select de donde quiero q me cree la vista pero e estado probando que solo desde la consola y manejador grafico de bd puedo crear las vistas esta es la sentencia que ocupo en el escript para crear la vista:
Código PHP:
$run = new sql();
$Vista "create view nombre_vista as ".$dedondequiere_lavista."";
$run ejecutasql($Vista); 
pero cuando voy a verificar en la bd no veo q exista la vista deseada, no se si ya alguien se ha topado con este problema??
  #4 (permalink)  
Antiguo 26/07/2006, 11:05
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
En MySQL existe una base de datos llamada information_schema la cual contiene toda la info sobre las bases de datos creadas, y obiamnete la info de las vistas tambien esta ahi.

con esta consulta a la base de datos podrias saber si existe o no una vista.

SELECT count(TABLE_NAME)
FROM `VIEWS`
WHERE TABLE_NAME= $nombre_de_la_vista
AND TABLE_SCHEMA= $nombre_de_la_BD

EQsta consulta te devuelve el valor 1 si la vista ya esta creada, y si no esta creada, te devuelve 0.

Espero que te sirva
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
  #5 (permalink)  
Antiguo 26/07/2006, 11:40
 
Fecha de Ingreso: julio-2005
Mensajes: 25
Antigüedad: 18 años, 9 meses
Puntos: 0
hey gracias por la respuesta si me sirve pk se me fue por alto el registro q lleva de las vistas creadas!!!

No se si tienes algun link de informacion de utilizacion de vistas en mysql (TolaWare)??
  #6 (permalink)  
Antiguo 26/07/2006, 13:51
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Pues, las vistas se usan exactamente igual que una tabla de MySQL

crear vista: CREATE VIEW vista AS SELECT * FROM ...
eliminar vista: DROP VIEW vista

y para el manejo de los datos se usan exactamente las mismas sentencias:
SELECT * FROM Vista WHERE...
INSERT INTO Vista VALUES....
DELETE FROM Vista WHERE...
UPDATE Vista ....

No hay nada de especial, si sabes usar tablas, entonces sabes usar vistas.

Si necesitas mas detalles, consulta el manual que trae MySQL y si no, busca en google (no muerde)
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux
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 23:02.