将列添加到表(如果尚不存在) [英] Add a column to a table, if it does not already exist

查看:93
本文介绍了将列添加到表(如果尚不存在)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想编写一个MS SQL Server查询,将查询列添加到表中。但是我不希望在运行/执行以下查询时显示任何错误。

I want to write a query for MS SQL Server that adds a column into a table. But I don't want any error display, when I run/execute the following query.

我正在使用这种查询来添加表...

I am using this sort of query to add a table ...

IF EXISTS (
       SELECT *
       FROM   sys.objects
       WHERE  OBJECT_ID = OBJECT_ID(N'[dbo].[Person]')
              AND TYPE IN (N'U')
   )

但是我不知道如何为列写此查询。

But I don't know how to write this query for a column.

推荐答案

您可以使用通过使用 sys.columns 表io sys.objects 进行类似的构造。

You can use a similar construct by using the sys.columns table io sys.objects.

IF NOT EXISTS (
  SELECT * 
  FROM   sys.columns 
  WHERE  object_id = OBJECT_ID(N'[dbo].[Person]') 
         AND name = 'ColumnName'
)

这篇关于将列添加到表(如果尚不存在)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆