为什么DROP TABLE然后重新创建表?

时间:2013-03-28 22:43:43

标签: sql sql-server sql-server-2008 tsql

我正在做T-SQL(SQL Server 2008)的入门课程。我在课程和其他在线资源中注意到以下模式:

我知道创建一个表(如果它已经存在)会导致错误并且首先删除该表然后重新创建它解决了这个问题(即在重新运行脚本的情况下)。删除表然后重新创建它[样本1]的原因是什么,而不是首先测试它是否存在然后如果它存在则跳过创建过程[样本2]?

样本1:

IF OBJECT_ID('myTable') IS NOT NULL
    DROP TABLE myTable
GO
CREATE TABLE myTable (number INT PRIMARY KEY)
GO

样本2:

IF OBJECT_ID('myTable') IS NULL
    CREATE TABLE myTable (number INT PRIMARY KEY)
GO

1 个答案:

答案 0 :(得分:6)

已存在的表可能与您想要的字段不同。所以,在你的第二个例子中,你认为桌子已经存在,而且......它不是你想要的那样。

如果您始终删除并重新创建,则表示该表包含您指定的所有字段。