将列添加到表(如果尚不存在)
问题描述:
我想编写一个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'
)