删除表,然后无法重新创建具有相同名称的表

时间:2012-05-11 11:28:50

标签: sql-server-2008 create-table drop-table

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

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

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

发生了什么事?

1 个答案:

答案 0 :(得分:2)

您不能在sql server中的同一批处理中删除并创建相同的表 见MSDN

他们的例子使用GO来打破这两个命令。半结肠可能有效,

Drop Table ......; 创建表,,,;

可能

Begin Transaction
Drop Table...
Commit Transaction
Create Table

当然或者将它分成两个命令,这就是GO在SQL Server管理器的查询窗口中所做的。

如果你把它拆开了,那么在尝试删除它之前检查表是否存在可能是明智的,而在尝试创建它之前它是不行的。