Sql中判断“数据库"、"表"、"临时表"、"存储过程"和列”是否存在

本文提供了一系列SQL脚本,用于检查数据库中各种对象(如数据库、表、存储过程等)是否存在。这些脚本对于自动化数据库管理任务非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = '库名') PRINT 'exists ' else PRINT 'not exists' -- 判断要创建的表名是否存在 IF EXISTS (Select * From sysObjects Where Name ='表名' And Type In ('S','U')) PRINT 'exists' ELSE PRINT 'not exists' GO --判断要创建临时表是否存在 If Object_Id( 'Tempdb.dbo.#Test') Is Not NULL--#Test 为临时表名 Begin print '存在 ' End Else Begin print '不存在 ' End --------------- -- 判断要创建的存储过程名是否存在 IF EXISTS (Select * From sysObjects Where Name ='存储过程名' And Type In ('S','P')) PRINT 'exists' ELSE PRINT 'not exists' GO -- 判断列名是否存在 IF EXISTS (SELECT O.NAME AS 表名,C.NAME AS 列名 FROM SYSOBJECTS O INNER JOIN SYSCOLUMNS C ON O.ID=C.ID WHERE O.NAME= '表名' AND C.NAME = '列名') SELECT 'EXISTS' ELSE SELECT 'NOT EXISTS' 判断表名存在的一个函数 IF COL_LENGTH( '表名','列名') IS NULL PRINT 'not exists' ELSE PRINT 'exists'


 

注: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 = 同义词

SQ = 服务队列   

TA = 程序集 (CLR) DML 触发器

TR = SQL DML 触发器

IF = SQL 内联表值函数

TF = SQL 表值函数

U = 表(用户定义类型)

UQ = UNIQUE 约束

V = 视图

X = 扩展存储过程

IT = 内部表

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值