How to determine whether a column exists on SQLServer

Posted by ben on June 10, 2008

I run some SQL scripts against Microsoft’s SQLServer in a number of environments, test, staging and production.

One of my problems is that these scripts alter the database schema and I only want them to execute if the change hasn’t already been made.

One of these changes was to remove a column from the database, so my question is ‘how can I ask SQLServer whether a particular column exists’.

Well the SQL query to check if a column exists and execute a query if it does is as follows:

IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.COLUMNS
                 WHERE TABLE_NAME='my_table_name' AND
                 COLUMN_NAME='my_column_name' )
BEGIN
  PRINT 'Execute some query here'
END

Hope it is useful. Ben…

Trackbacks

Use this link to trackback from your own site.

Comments

Leave a response

Comments