我正在学习 T-SQL (SQL Server 2008) 的入门类(class)。我在我的课件和其他在线资源中注意到以下模式:
我知道创建一个表(如果它已经存在)会导致错误,并且先删除该表然后重新创建它可以解决这个问题(即在重新运行脚本的情况下)。为什么要删除一个表然后重新创建它 [示例 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
最佳答案
一个已经存在的表可能没有你想要的字段。所以,在你的第二个例子中,你认为 table 已经在那里了,它是......但它不是你想要的。
如果您总是删除并重新创建,您就知道该表具有您指定的所有字段。
关于sql - 为什么 DROP TABLE 然后重新创建 TABLE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15693452/