第1个回答 2011-01-17
sys.objects 是系统对象
OBJECT_ID 是每个对象的唯一标识
N表示使用Union Code
type in (N'U')
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
这句话的意识是如果在系统对象中,存在一个同样的表,
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID AND type in (N'U'))
DROP TABLE [dbo].[T_Class]