判断数据库或数据库对象是否存在

在T-SQL编程中,有时候需要创建数据库和数据库对象,那么在创建前对对象的存在性进行检测就比较重要了。

在master数据库中提供了sysdatabases视图,在自定义数据库中提供了sysobjects视图,我们所创建的数据库及其对象分别存放在这两个视图中。

典型用法:

创建数据库之前检测是否存在:

if not exists(select * from sys.databases where name=‘要创建的数据库名')
create database ......

else
print '存在'

创建数据库对象前检测是否存在:

if not exists(select * from sys.objects where name='userinfo' and type='u')
create table......

else
print '存在'

 

附:各种数据库对象在sysobjects对应的类型:

C = CHECK 约束

D = 默认设置或 DEFAULT 约束

F = FOREIGN KEY 约束

FN = 标量函数

IF = 内联表函数

K = PRIMARY KEY 或 UNIQUE 约束

L = 日志

P = 存储过程

R = 规则

RF = 复制筛选器存储过程

S = 系统表

TF = 表函数

TR = 触发器

U = 用户表

V = 视图

X = 扩展存储过程

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值