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

[SOLUCIONADO] vistas

Estas en el tema de vistas en el foro de SQL Server en Foros del Web. Seguramente esta sea una duda de novato, pero es que yo lo soy. Resulta que a partir de 5 tablas distintas, por medio de una ...
  #1 (permalink)  
Antiguo 22/04/2015, 12:35
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
vistas

Seguramente esta sea una duda de novato, pero es que yo lo soy.

Resulta que a partir de 5 tablas distintas, por medio de una SELECT me he confeccionado una vista.

Lo que a mí me extraña es que al añadir registros en las tablas estos no se reflejen en la vista. Para conseguir ver esos registros en la vista tengo que ir a la pantalla de edición de la vista, ejecutarla desde ahí y guardarla, aunque no haya hecho ningún cambio en su diseño.

Yo pensé que al cambiar la tabla estos datos se reflejarían en la vista, ya que la vista se hace con una SELECT.

Hay algún comando SQL para actualizar la vista, y que los datos que se ven en la vista se actualicen?
  #2 (permalink)  
Antiguo 22/04/2015, 12:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: vistas

una vista en sql server te refresca la informacion de manera automatica, no necesitarias hacer ningun cambio a menos que tengas una vista diferente, cual es el codigo de creacion de tu vista???


Código SQL:
Ver original
  1. CREATE VIEW vw_libras
  2. AS
  3. SELECT * FROM [dbo].[testing]
  4.  
  5. SELECT * FROM vw_libras
  6.  
  7. 16  6   libras
  8. 17  6   libras
  9. 18  6   libras
  10. 19  6   libras
  11. 20  6   libras
  12.  
  13. INSERT INTO testing VALUES (6,'libras')
  14. INSERT INTO testing VALUES (7,'libras')
  15.  
  16. SELECT * FROM vw_libras
  17.  
  18. 16  6   libras
  19. 17  6   libras
  20. 18  6   libras
  21. 19  6   libras
  22. 20  6   libras
  23. 21  6   libras
  24. 22  7   libras

Aqui un ejemplo donde se ve que los datos de la vista se actualizan de manera automatica...
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 22/04/2015, 13:09
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: vistas

Cierto. Tenía el problema estaba en los datos. Al no coincidirme no encontraba la relación y no me sacaba los resultados de dichas relaciones.

He corregido los datos y en la vista se ha visto el cambio de manera inmediata. El problema era que metía los valores NULL como 'NULL' y así no encontraba la relación. Ahora ya inserto valores NULL como tales, y la vista se actualiza de inmediato. Yupiiiiii!!!
  #4 (permalink)  
Antiguo 22/04/2015, 13:14
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: vistas

NULL no es un valor string, es un valor como tal en la base de datos, no es lo mismo NULL que 'Null'.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 22/04/2015, 13:31
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: vistas

Exactamente como te dice @Libras: NULL no es un valor, ni es una cadena. Se define como "estado de indeterminación". Si lo manipulas como una cadena, no es un NULL.

El tema de NULL es complejo de compender, y hay comportamientos particulares en su validación en los diferentes DBMS. Es mejor consultar el manual de cada uno para ver bien el detalle.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: registros, select, sql, tabla, vistas
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 09:54.