Como saber si una columna existe en una tabla .......

26/07/2006 - 19:27 por jpablos | Informe spam
Saludos

Debo generar un script que me agrege columnas en una tabla donde mis
clientes, el problema es que algunos clientes ya tienen ingresadas unas
columnas que otros no tienen, asi que antes de ejecutar el add column deberia
saber si esa columna ya existe en la tabla, como lo podria hacer ?????

Gracias ..
 

Leer las respuestas

#1 Alejandro Mesa
26/07/2006 - 19:59 | Informe spam
jpablos,

Puedes usar la vista de sistema INFORMATION_SCHEMA.COLUMNS o puedes usar la
funcion "columnproperty".

Ejemplo:

create table dbo.t1 (
c1 int not null
)
go

if not exists (
select *
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'dbo' and TABLE_NAME = 't1' and COLUMN_NAME = 'c2'
)
alter table dbo.t1
add c2 int
go

if columnproperty(object_id('dbo.t1'), 'c3', 'AllowsNull') is null
alter table dbo.t1
add c3 int
go

if columnproperty(object_id('dbo.t1'), 'c3', 'AllowsNull') is null
alter table dbo.t1
add c3 int
go

select *
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'dbo' and TABLE_NAME = 't1'
order by ORDINAL_POSITION
go

drop table dbo.t1
go


AMB

"jpablos" wrote:

Saludos

Debo generar un script que me agrege columnas en una tabla donde mis
clientes, el problema es que algunos clientes ya tienen ingresadas unas
columnas que otros no tienen, asi que antes de ejecutar el add column deberia
saber si esa columna ya existe en la tabla, como lo podria hacer ?????

Gracias ..

Preguntas similares