1 判断数据库是否存在

Sql代码

if exists (select * from sys.databases where name = ’数据库名’)

drop database [数据库名]  if exists (select * from sys.databases where name = ’数据库名’)

drop database [数据库名]

2 判断表是否存在

Sql代码

if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)

drop table [表名]  if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)

drop table [表名]

3 判断存储过程是否存在

Sql代码

if exists (select * from sysobjects where id = object_id(N’[存储过程名]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)

drop procedure [存储过程名]  if exists (select * from sysobjects where id = object_id(N’[存储过程名]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)

drop procedure [存储过程名]

4 判断临时表是否存在

Sql代码

if object_id(’tempdb..#临时表名’) is not null

drop table #临时表名  if object_id(’tempdb..#临时表名’) is not null

drop table #临时表名

5 判断视图是否存在

Sql代码

--SQL Server 2000

IF EXISTS (SELECT * FROM sysviews WHERE object_id = ’[dbo].[视图名]’

--SQL Server 2005

IF EXISTS (SELECT * FROM sys.views WHERE object_id = ’[dbo].[视图名]’  --SQL Server 2000

IF EXISTS (SELECT * FROM sysviews WHERE object_id = ’[dbo].[视图名]’

--SQL Server 2005

IF EXISTS (SELECT * FROM sys.views WHERE object_id = ’[dbo].[视图名]’

6 判断函数是否存在

Sql代码

--  判断要创建的函数名是否存在

if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[函数名]’) and xtype in (N’FN’, N’IF’, N’TF’))

drop function [dbo].[函数名]    --  判断要创建的函数名是否存在

if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[函数名]’) and xtype in (N’FN’, N’IF’, N’TF’))

drop function [dbo].[函数名]

7 获取用户创建的对象信息

Sql代码

SELECT [name],[id],crdate FROM sysobjects where xtype=’U’

/*

xtype 的表示参数类型,通常包括如下这些

C = CHECK 约束

D = 默认值或 DEFAULT 约束

F = FOREIGN KEY 约束

L = 日志

FN = 标量函数

IF = 内嵌表函数

P = 存储过程

PK = PRIMARY KEY 约束(类型是 K)

RF = 复制筛选存储过程

S = 系统表

TF = 表函数

TR = 触发器

U = 用户表

UQ = UNIQUE 约束(类型是 K)

V = 视图

X = 扩展存储过程

*/  SELECT [name],[id],crdate FROM sysobjects where xtype=’U’

/*

xtype 的表示参数类型,通常包括如下这些

C = CHECK 约束

D = 默认值或 DEFAULT 约束

F = FOREIGN KEY 约束

L = 日志

FN = 标量函数

IF = 内嵌表函数

P = 存储过程

PK = PRIMARY KEY 约束(类型是 K)

RF = 复制筛选存储过程

S = 系统表

TF = 表函数

TR = 触发器

U = 用户表

UQ = UNIQUE 约束(类型是 K)

V = 视图

X = 扩展存储过程

*/

8 判断列是否存在

Sql代码

if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)

alter table 表名 drop column 列名  if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)

alter table 表名 drop column 列名

9 判断列是否自增列

Sql代码

if columnproperty(object_id(’table’),’col’,’IsIdentity’)=1

print ’自增列’

else

print ’不是自增列’

SELECT * FROM sys.columns WHERE object_id=OBJECT_ID(’表名’)

AND is_identity=1  if columnproperty(object_id(’table’),’col’,’IsIdentity’)=1

print ’自增列’

else

print ’不是自增列’

SELECT * FROM sys.columns WHERE object_id=OBJECT_ID(’表名’)

AND is_identity=1

10 判断表中是否存在索引

Sql代码

if exists(select * from sysindexes where id=object_id(’表名’) and name=’索引名’)

print  ’存在’

else

print  ’不存在  if exists(select * from sysindexes where id=object_id(’表名’) and name=’索引名’)

print  ’存在’

else

print  ’不存在

11 查看数据库中对象

Sql代码

SELECT * FROM sys.sysobjects WHERE name=’对象名’  SELECT * FROM sys.sysobjects WHERE name=’对象名’

转载于:https://blog.51cto.com/rfsl2014/1541280

SQL Server判断对象是否存在 (if exists (select * from sysobjects )相关推荐

  1. sql server 判断是否存在数据库,表,列,视图

    1 判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名] 2 判断 ...

  2. SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数

    – SQL SERVER 判断是否存在某个触发器.储存过程 – 判断储存过程,如果存在则删除 IF (EXISTS(SELECT * FROM sysobjects WHERE name='proce ...

  3. 如何记录SQL Server数据库对象

    介绍 (Introduction) In any good programming reference, you will read that a developer has to document ...

  4. 编写SQL Server数据库对象脚本的方法

    In this article, we will explore various ways for scripting SQL Server database objects. 在本文中,我们将探索编 ...

  5. sql server 查看对象最后修改时间

    sql server 查看对象最后修改时间,根据最后修改时间排序 存储过程 SELECT * FROM sys.all_objects WHERE  TYPE='P' ORDER BY modify_ ...

  6. SQL Server出现对象名和列名无效的解决方法

    SQL Server出现对象名和列名无效的解决方法 首先推一波自己的hexo博客 http://www.zhazhalin.top:88/ 想必很多朋友在用sql server在学习的时候会遇到过对象 ...

  7. SQL Server 数据库对象

    SQL Server数据库对象 SQL Server的数据库一共有11种对象,包括关系图.表.视图.存储过程.用户.角色.规则.默认.用户定义的数据类型.用户定义的函数.全文目录. 关于这11种数据库 ...

  8. SQL server判断字符串是否包含某个字符串

    函数:CHARINDEX 通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0 基本语法如下: CHARINDEX ( expressionToFind , expressi ...

  9. SQL Server判断日期是否为周六 周日

    DATEPART 返回代表指定日期的指定日期部分的整数. 语法 DATEPART ( datepart ,date ) 参数 datepart 是指定应返回的日期部分的参数.下表列出了 Microso ...

最新文章

  1. 中国AI登上Nature子刊:看病历分析儿科疾病,准确率90%,超人类医师
  2. Mac下Ruby升级与Rails的安装
  3. [pytorch、学习] - 4.6 GPU计算
  4. 签到 数据库php,php与数据库的连接用法 (签到一)
  5. 元素凸起效果_被誉为作物“生殖元素”的“硼”到底有多重要?看完你就明白了...
  6. 在QT中使用同步阻塞式HTTP请求的方法
  7. oracle--索引的使用
  8. 后缀mcp用什么软件打开_如何打开MCP文件?
  9. html工资计算页面模板,工资计算表Excel模板
  10. Linux 下实现ssh无密码登陆
  11. 一元三次方程求根公式及韦达定理
  12. java 给图片加水印整理:2种方法
  13. c++ 随机生成数独(不保证唯一解)
  14. 电脑读取不U盘,在磁盘管理器中显示“无媒体”解决方法
  15. 2:STM32CubeMX配置STM32F103C8T6驱动-SPI驱动
  16. 亚商投资顾问 早餐FM/1116全球6G发展大会开幕
  17. 不得不知的101种心理防御机制,识别并超越它们
  18. 导入Excel时数据类型处理工具类
  19. 腾讯开源 Kotlin 高性能特效动画组件!
  20. python爬虫美剧下载

热门文章

  1. RocketMQ消费失败如何处理?如何保证消费消息的幂等性?
  2. 框架源码专题:Spring是如何解决循环依赖的?
  3. Jenkins环境搭建和部署项目的过程
  4. 源码解析Spring Boot2默认数据库连接池HikariCP(高性能原因分析)
  5. Nexus 安装 使用说明
  6. 通过QMP/QGA与虚拟机进行交互
  7. AuthenticationManager验证原理分析
  8. 私有CA的创建和证书的申请
  9. Web应用功能测试测试点
  10. Contiki 2.7 Makefile 文件(五)