ms sql 中 IF NOT EXISTS 查询的问题

Cec*_* A. 2 sql-server if-not-exists

我想编写查询脚本来验证是否没有现有列测试以在检查条件后添加它。但这两种方式都行不通。

方式一:

IF [dbo].[TEST].TEST NOT EXISTS
BEGIN
 ALTER TABLE [dbo].[TEST] ADD TEST INT;
Run Code Online (Sandbox Code Playgroud)

方式二:

ALTER TABLE [dbo].[TEST] ADD TEST INT
where NOT EXISTS in ([dbo].[TEST].TEST);
Run Code Online (Sandbox Code Playgroud)

And*_*y M 5

如果要编写条件添加列的脚本(仅当该列尚不存在于表中时),可以按sys.columns以下方式使用系统目录:

IF NOT EXISTS
(
  SELECT
    *
  FROM
    sys.columns
  WHERE
    object_id = OBJECT_ID('dbo.TEST')
    AND name = 'TEST'
)
  ALTER TABLE
    dbo.TEST
  ADD
    TEST int NULL
;
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

2186 次

最近记录:

3 年,3 月 前