在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. 判断是哪一个数据库中发生了此问题查找损坏的数据库对象。连接发生问题的数据库

    前言 1.1 概述 本文介绍了postgresql的几种常见问题,并从现象出发,逐步排查问题,分析导致问题的原因并给出解决方案. 本文介绍的问题分为两大类:一类是关于PostgreSQL无法启动的问题 ...

  2. C#操作SqlServer数据库的常用对象,及其方法

    首先放出所常用的对象: System.Data.SqlClient.SqlConnection System.Data.SqlClient.SqlCommand System.Data.SqlClie ...

  3. SQL语句判断指定的数据库、表、字段、存储过程是否存在

    SQL语句判断指定的数据库.表.字段.存储过程是否存在 直接上代码,对大家有用就好! 代码 --判断[TestDB]是否存在 if exists(select 1 from master..sysda ...

  4. 历史快照_实用脚本--合理估算oracle数据库及数据库对象历史增长情况

    概述 很多时候我们都需要估算oracle数据库及数据库对象历史增长情况,来评估是否需要扩容,扩多少.下面介绍一下怎么通过AWR来查找一段时间内,数据库及数据库段对象(堆表.索引)等的空间增长信息. D ...

  5. JdbcTemplate(操作数据库-查询返回对象、查询返回集合)

    JdbcTemplate(操作数据库-查询返回对象.查询返回集合) 1.创建数据库 数据库中有三条记录,数据库名为user_db,数据库表为t_book 2.新建实体类: Book类中的每一个属性对应 ...

  6. oracle vm发现无效设置_Oracle数据库编译失效对象相关命令总结大全,值得收藏

    概述 在日常数据库维护过程中,我们会发现数据库中一些对象(包Package.存储过程Procedure.函数Function.视图View.同义词.....)会失效,呈现无效状态(INVALID).有 ...

  7. 在SQL数据库中搜索对象的不同方法

    This article explores various ways to search for database objects in SQL database such as tables, st ...

  8. [VB]获取Access数据库的全部对象

    一个函数,获取Access数据库的全部对象. Public Function GetAllinDB()     Dim i As Integer, tdf As TableDef, qdf As Qu ...

  9. oracle估算数据增长,如何估算oracle 数据库,数据库对象历史增长情况

     如何估算oracle 数据库,数据库对象历史增长情况 -----最近七天数据库的增长情况,这个只是一个估算值. select  sum(space_used_total)/1024/1024/1 ...

最新文章

  1. python获取网页源码不完整_python和Ajax在一起了?真的???
  2. Java知识整理——远程方法调用
  3. SQLServer用存储过程实现插入更新数据
  4. ReviewForJob——算法设计技巧(贪婪算法+分治算法+动态规划)
  5. 模型训练太慢?显存不够用?这个算法让你的GPU老树开新花
  6. linux求生之路字体乱码,Linux中文字符出现乱码怎么办
  7. PyTorch大更新!谷歌出手帮助开发,正式支持TensorBoard | 附5大开源项目
  8. Java进阶篇设计模式之九----- 解释器模式和迭代器模式
  9. 【Error】:10061由于目标计算机积极拒绝,无法连接
  10. 一步步写俄罗斯方块(二)
  11. 设计模式系列 — 模板方法模式
  12. c#读取mysql返回的值类型_C#中Mysql读取字段值
  13. 千年3步法外挂 千年3脚本 千年3外挂 千年3最新外挂
  14. (PMIC)全、半桥驱动器CSD95481RWJ PDF 规格
  15. HP惠普笔记本Microsoft ACPI-Compliant System未知设备的解决办法
  16. LINUX未来的发展前景
  17. jquery fadeOut 异步
  18. 论文:Ref-NMS: Breaking Proposal Bottlenecks in Two-Stage Referring Expression Grounding
  19. GFS —— 分布式文件系统
  20. 华为研究院高级研究员几年心得终得趣谈网络协议文档,附资深架构师讲解

热门文章

  1. AI这么火,要不要追赶AI的热潮?
  2. emlog链接html,实现emlog的友情链接只在首页显示
  3. 网站SEO优化中友情链接起到什么作用
  4. 从零开始学习makefile(1).PHONY的作用
  5. 手把手教你搭建YOLOv5 + StrongSORT with OSNet环境
  6. 网络连接产品与VPC接入Internet
  7. 0到1024端口的作用
  8. 1.6 iOS模拟器的基本使用方法 [原创iOS开发-Xcode教程]
  9. python程序设计基础 实验四
  10. android短彩信数据库设计源码解析(二)