用脚本Create Table的备忘录
看看MSDN的Create Table部分,长长的内容,别人不知道,我看了可是头疼。而用SSMS生成的SQL脚本,功能上是肯定没有问题的,可是从美观上,总是感觉不爽。而且用SSMS生成的脚本,包括外键、约束什么的,都是通过修改的方式增加上去的,无故的增加了几行代码,其实所有的内容就是一个Create Table么。
IF OBJECT_ID ('Users', 'U') IS NOT NULL DROP TABLE Users
Create Table Users
(
UserId uniqueidentifier NOT NULL
PRIMARY KEY CLUSTERED (UserId ASC)
DEFAULT newid(),
ApplicationId uniqueidentifier NOT NULL
REFERENCES Applications(ApplicationId),
Email varchar(255) NOT NULL
UNIQUE NONCLUSTERED(ApplicationId ASC, Email ASC),
Description nvarchar(255) NULL
)
Create Table Users
(
UserId uniqueidentifier NOT NULL
PRIMARY KEY CLUSTERED (UserId ASC)
DEFAULT newid(),
ApplicationId uniqueidentifier NOT NULL
REFERENCES Applications(ApplicationId),
Email varchar(255) NOT NULL
UNIQUE NONCLUSTERED(ApplicationId ASC, Email ASC),
Description nvarchar(255) NULL
)
这里面包含一些基本的内容,包括:主键、外键、聚集索引、非聚集索引、非空、允许空值和默认值。无论是聚集索引还是非聚集索引,都允许多项,中间用逗号隔开。SSMS生成脚本包含的Drop语句太罗嗦了,这个更简洁一些,功能一样的。