Проверьте наличие столбца в таблице - PullRequest
4 голосов
/ 06 января 2011

Как проверить, существует ли столбец в таблице с помощью SQL-запроса? Я использую Access 2007.

Ответы [ 3 ]

4 голосов
/ 06 января 2011

Вы можете использовать Information_schema просмотров:

If Not Exists (Select Column_Name
               From INFORMATION_SCHEMA.COLUMNS
               Where Table_Name = 'YourTable'
               And Column_Name = 'YourColumn')
begin

-- Column doesn't exist

end

Кроме того, вы можете дополнительно ограничить предложение where, включив базу данных и / или схему.

If Not Exists (Select Column_Name
               From INFORMATION_SCHEMA.COLUMNS
               Where Table_Name = 'YourTable'
               And Column_Name = 'YourColumn'
               And Table_Catalog = 'YourDatabaseName'
               And Table_Schema = 'YourSchemaName')

begin

-- Column doesn't exist

end
2 голосов
/ 06 января 2011
IF NOT EXISTS (SELECT 1
FROM syscolumns sc
JOIN sysobjects so
ON sc.id = so.id
WHERE so.Name = 'TableName'
AND sc.Name = 'ColumnName')
BEGIN
--- do your stuff
END
2 голосов
/ 06 января 2011
if Exists(select * from sys.columns where Name = N'columnName'  
            and Object_ID = Object_ID(N'tableName'))

begin

    -- Column Exists

end

"ССЫЛКА"

...