SQL Server判断对象是否存在 (if exists (select * from sysobjects )
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 )相关推荐
- sql server 判断是否存在数据库,表,列,视图
1 判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断 ...
- SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数
– SQL SERVER 判断是否存在某个触发器.储存过程 – 判断储存过程,如果存在则删除 IF (EXISTS(SELECT * FROM sysobjects WHERE name='proce ...
- 如何记录SQL Server数据库对象
介绍 (Introduction) In any good programming reference, you will read that a developer has to document ...
- 编写SQL Server数据库对象脚本的方法
In this article, we will explore various ways for scripting SQL Server database objects. 在本文中,我们将探索编 ...
- sql server 查看对象最后修改时间
sql server 查看对象最后修改时间,根据最后修改时间排序 存储过程 SELECT * FROM sys.all_objects WHERE TYPE='P' ORDER BY modify_ ...
- SQL Server出现对象名和列名无效的解决方法
SQL Server出现对象名和列名无效的解决方法 首先推一波自己的hexo博客 http://www.zhazhalin.top:88/ 想必很多朋友在用sql server在学习的时候会遇到过对象 ...
- SQL Server 数据库对象
SQL Server数据库对象 SQL Server的数据库一共有11种对象,包括关系图.表.视图.存储过程.用户.角色.规则.默认.用户定义的数据类型.用户定义的函数.全文目录. 关于这11种数据库 ...
- SQL server判断字符串是否包含某个字符串
函数:CHARINDEX 通过CHARINDEX如果能够找到对应的字符串,则返回该字符串位置,否则返回0 基本语法如下: CHARINDEX ( expressionToFind , expressi ...
- SQL Server判断日期是否为周六 周日
DATEPART 返回代表指定日期的指定日期部分的整数. 语法 DATEPART ( datepart ,date ) 参数 datepart 是指定应返回的日期部分的参数.下表列出了 Microso ...
最新文章
- 中国AI登上Nature子刊:看病历分析儿科疾病,准确率90%,超人类医师
- Mac下Ruby升级与Rails的安装
- [pytorch、学习] - 4.6 GPU计算
- 签到 数据库php,php与数据库的连接用法 (签到一)
- 元素凸起效果_被誉为作物“生殖元素”的“硼”到底有多重要?看完你就明白了...
- 在QT中使用同步阻塞式HTTP请求的方法
- oracle--索引的使用
- 后缀mcp用什么软件打开_如何打开MCP文件?
- html工资计算页面模板,工资计算表Excel模板
- Linux 下实现ssh无密码登陆
- 一元三次方程求根公式及韦达定理
- java 给图片加水印整理:2种方法
- c++ 随机生成数独(不保证唯一解)
- 电脑读取不U盘,在磁盘管理器中显示“无媒体”解决方法
- 2:STM32CubeMX配置STM32F103C8T6驱动-SPI驱动
- 亚商投资顾问 早餐FM/1116全球6G发展大会开幕
- 不得不知的101种心理防御机制,识别并超越它们
- 导入Excel时数据类型处理工具类
- 腾讯开源 Kotlin 高性能特效动画组件!
- python爬虫美剧下载