sql sever-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)