validar saber registro inserto existe ejecutar como antes sql-server metadata table-structure

saber - ¿Cómo puedo verificar si existe una columna en SQL Server?



validar insert mysql (5)

¿Cómo puedo verificar si existe una columna en SQL Server 2000?


No sé si este script funcionará en sqlserver 2000, pero en 2008 funciona:

SELECT COLUMNS.* FROM INFORMATION_SCHEMA.COLUMNS COLUMNS, INFORMATION_SCHEMA.TABLES TABLES WHERE COLUMNS.TABLE_NAME=TABLES.TABLE_NAME AND UPPER(COLUMNS.COLUMN_NAME)=UPPER(''column_name'')


IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=''tablename'' AND COLUMN_NAME=''columname'' )


If col_length(''table_name'',''column_name'') is null select 0 as Present ELSE select 1 as Present

Presente será 0, no hay column_name presente en table_name, de lo contrario 1

@CMS: no creo que ''INFORMATION_SCHEMA.COLUMNS'' tenga información sobre cada tabla en DB. Porque esto no funcionó para mí. Pero mi respuesta funcionó.


En el analizador de consultas, seleccione la base de datos que contiene la tabla en la que debe verificar si el campo existe o no y ejecute la consulta a continuación.

SELECT count(*) AS [Column Exists] FROM SYSOBJECTS INNER JOIN SYSCOLUMNS ON SYSOBJECTS.ID = SYSCOLUMNS.ID WHERE SYSOBJECTS.NAME = ''myTable'' AND SYSCOLUMNS.NAME = ''Myfield''


Esto debería hacer muy bien:

if COLUMNPROPERTY(object_id(''table_name''), ''column_name'', ''ColumnId'') is null print ''doesn/'t exist'' else print ''exists''