2

我首先在 SQL Server 2008 中删除了一个表(之后它显示命令已成功执行的消息)。

然后我尝试创建一个同名的表,它向我显示了一个错误。

关闭 SSMS 窗口并重新打开后,它尝试再次创建具有相同名称的表并成功。

到底是怎么回事?

4

1 回答 1

3

您不能在 sql server 的同一批次中删除和创建同一个表,请参阅MSDN

他们的示例使用 GO 来分解这两个命令。半冒号可能有效,

删除表...; 创建表,,,;

可能

Begin Transaction
Drop Table...
Commit Transaction
Create Table

或者当然将其拆分为两个命令,这就是 GO 在 SQL 服务器管理器的查询窗口中所做的。

如果确实将其拆分,则在尝试删除表之前检查表是否存在以及在尝试创建表之前检查表是否存在可能是明智之举。

于 2012-05-11T11:49:35.743 回答