Creación de campos y repercusiones en vistas

14/12/2003 - 09:31 por Gregorio López Rojo | Informe spam
Hola a todos. Resulta que cuando creo campos para una tabla, las vistas
accesando a esta tabla (vía NombreTabla.*) ya no se comportan igual, o sea
ya no se regresan los campos como se debería, por lo que debo eliminar estas
vistas y volver a crearlas con su mismo código.
Para que se entienda mejor supongamos que tengo la siguiente tabla
Tabla1
id
Campo1
Campo2
Campo3

y tengo la siguiente vista:
CREATE VIEW Vista1 AS
SELECT
Tabla1.*,
Tabla2.CampoX
FROM Tabla1 INNER JOIN Tabla2
ON Tabla1.id = Tabla2.id

Si a la Tabla1 le agrego un Campo4 y ejecuto la vista me regresa los campos
id, Campo1, Campo2, Campo3 y CampoX, pero el Campo4 no, en realidad sí
regresa los valores de Campo4 pero en la columna correspondiente a CampoX, y
los valores de CampoX no aparecen en el resultado de la vista.

Hay alguna manera de indicarle a SQL Server que actualice la definición de
una vista sin tener que eliminarla y volverla a crear? Y de ser posible que
funcione para las versiones 7 y 2000 de SQL Server

Saludos y gracias anticipadas.
 

Leer las respuestas

#1 Miguel Egea
15/12/2003 - 09:26 | Informe spam
sp_refreshview

En portalsql.com tienes un artículo que es un post de Fernando G. Guerrero
que creo que puedes encontrar de interés. (busca por Fernando)
Saludos
Miguel Egea

"Gregorio López Rojo" escribió en el mensaje
news:uR#
Hola a todos. Resulta que cuando creo campos para una tabla, las vistas
accesando a esta tabla (vía NombreTabla.*) ya no se comportan igual, o sea
ya no se regresan los campos como se debería, por lo que debo eliminar


estas
vistas y volver a crearlas con su mismo código.
Para que se entienda mejor supongamos que tengo la siguiente tabla
Tabla1
id
Campo1
Campo2
Campo3

y tengo la siguiente vista:
CREATE VIEW Vista1 AS
SELECT
Tabla1.*,
Tabla2.CampoX
FROM Tabla1 INNER JOIN Tabla2
ON Tabla1.id = Tabla2.id

Si a la Tabla1 le agrego un Campo4 y ejecuto la vista me regresa los


campos
id, Campo1, Campo2, Campo3 y CampoX, pero el Campo4 no, en realidad sí
regresa los valores de Campo4 pero en la columna correspondiente a CampoX,


y
los valores de CampoX no aparecen en el resultado de la vista.

Hay alguna manera de indicarle a SQL Server que actualice la definición de
una vista sin tener que eliminarla y volverla a crear? Y de ser posible


que
funcione para las versiones 7 y 2000 de SQL Server

Saludos y gracias anticipadas.


Preguntas similares