首页 > 解决方案 > 执行多条 T-SQL 语句

问题描述

SQL Server 不允许我执行所有索引创建语句。如果我的第一个索引创建语句失败,它不会移动到下一行。

假设我正在创建以下三个索引。我的第一个索引无法创建,因为它已经存在。

在这种情况下,SQL Server 不会移动到下一行并继续执行。

CREATE NONCLUSTERED INDEX [IX_LWF_Steps_WFG] ON [dbo].[LW_Steps] ([CONID]);
CREATE NONCLUSTERED INDEX [IX_LWF_Con_ACS] ON [dbo].[LWF_Config] ([MasterID]);
CREATE NONCLUSTERED INDEX [IX_Config] ON [dbo].[LWF_Config] ([CONFIGID]);

如果我的第一个索引语句失败,有什么方法可以告诉 SQL Server 继续执行下一个语句?

标签: sql-server

解决方案


正如 Dale 所说,您应该在命令之间使用 GO:

CREATE NONCLUSTERED INDEX [IX_LWF_Steps_WFG] ON [dbo].[LW_Steps] ([CONID]);
GO

CREATE NONCLUSTERED INDEX [IX_LWF_Con_ACS] ON [dbo].[LWF_Config] ([MasterID]);
GO

CREATE NONCLUSTERED INDEX [IX_Config] ON [dbo].[LWF_Config] ([CONFIGID]);
GO

推荐阅读