T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)
if DB_ID(N‘DATABASENAME‘) is not null
判断表,视图,存储过程,游标的方法综合如下: use databasename--跳转到指定数据库
go
if object_id(N‘a‘,N‘U‘) is not null
drop table a
go
注:a 是一个表,U代表是数据表类型
类似于U的类型代码,如下所示
对象类型:
AF = 聚合函数 (CLR)
C = CHECK 约束
D = DEFAULT(约束或独立)
F = FOREIGN KEY 约束
PK = PRIMARY KEY 约束
P = SQL 存储过程
PC = 程序集 (CLR) 存储过程
FN = SQL 标量函数
FS = 程序集 (CLR) 标量函数
FT = 程序集 (CLR) 表值函数
R = 规则(旧式,独立)
RF = 复制筛选过程
SN = 同义词
TR = SQL DML 触发器
IF = SQL 内联表值函数
TF = SQL 表值函数
U = 表(用户定义类型)
UQ = UNIQUE 约束
V = 视图
X = 扩展存储过程
IT = 内部表
我以前介绍过sysobjects这个系统表。自定的表,存储过程。。。。。都会存进这张表。所以。。。。。
表中的列是否存在
IF COL_LENGTH(‘A‘, ‘C‘) IS NOT NULL
注:A是表名
C是列名
或者:
select * from syscolumns where id=object_id(‘表名‘) and name=‘列名‘
注:存在则返回此列的一条说明记录,不存在返回空;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。