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
类似于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 = 复制筛选过程
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='列名'
注:存在则返回此列的⼀条说明记录,不存在返回空;