首页 > 代码库 > T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)

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=‘列名‘ 
注:存在则返回此列的一条说明记录,不存在返回空;

T-SQL 判断 是否存在(数据库,表,存储过程,约束。。。和列)