Nuevo Atributo en una Tabla

08/08/2006 - 18:45 por Nelson Rodriguez | Informe spam
Cuando agrego un nuevo atributo sobre una Tabla que participa en varias
vistas diferentes, al utilizarlas desde una aplicación me fallan, tengo que
entrar a la vista con el Administrador Corporativo, ir al diseño de cada
vista, ejecutarla y guardan y así se arregla.

Hay algua operación que yo pueda hacer luego de agregar atributos en tablas
que participan en vistas, para que se "actualicen" y no fallen desde la
aplicación???

Gracias

Nelson Rodriguez
Salto - Uruguay
neroig@adinet.com.uy

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
08/08/2006 - 20:17 | Informe spam
Nelson,

Por casualidad usas "select * from ..." para definir las vistas?

Usar esa forma no es una buena practica. SQL Server no incluye columnas
nuevas que se agregan a la tabla despues de haber creado la vista, al menos
que la refresques. SQL Server expande la lista de columnas durante la
creacion, por lo que la sentencia "select * from ..." se convierte en "select
c1, c2, ..., cn from ..." que es la que sera referenciada posteriormente.
Veamos un ejemplo.

Ejemplo:

create view dbo.v1
as
select *
from dbo.orders
where orderid = 10250
go

select ORDINAL_POSITION, COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'dbo' and TABLE_NAME = 'v1'
go

alter table dbo.orders
add c1 int null
go

select ORDINAL_POSITION, COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'dbo' and TABLE_NAME = 'v1'
go

exec sp_refreshview 'dbo.v1'
go

select ORDINAL_POSITION, COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'dbo' and TABLE_NAME = 'v1'
go

alter table dbo.orders
drop column c1
go

drop view dbo.v1
go

Lo comun es que se actualizen las vistas que requieren las nuevas columnas.


AMB

"Nelson Rodriguez" wrote:

Cuando agrego un nuevo atributo sobre una Tabla que participa en varias
vistas diferentes, al utilizarlas desde una aplicación me fallan, tengo que
entrar a la vista con el Administrador Corporativo, ir al diseño de cada
vista, ejecutarla y guardan y así se arregla.

Hay algua operación que yo pueda hacer luego de agregar atributos en tablas
que participan en vistas, para que se "actualicen" y no fallen desde la
aplicación???

Gracias

Nelson Rodriguez
Salto - Uruguay





email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida