mssql sqlserver if exists 用法大汇总
摘要:
下文讲述sqlserver中,更新脚本中常用if exists关键字的用法说明,如下所示:
实验环境:sql server 2008 R2
一、检测数据库是否存在于当前数据库引擎下
if exists (select * from sys.databases where name = ’数据库名称’)
begin
print '数据库名称--存在'
end
二、检测数据表是否存在于指定数据库下
if exists (select * from sysobjects where id = object_id(N’[数据表名称]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
begin
print '数据表名称---存在'
end
三、检测存储过程是否存在的方法
if exists (select * from sysobjects where id = object_id(N’[存储过程名称]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)
begin
print '存储过程名称-存在'
end
四、临时表是否存在的方法
if object_id(’tempdb..#临时表名’) is not null
begin
print '临时表名--存在'
end
五、视图是否存在的方法
IF EXISTS (SELECT * FROM sys.views WHERE object_id = ’[dbo].[视图名称]’
begin
print '视图名称存在'
end
六、函数是否存在的检测方法
if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[函数名称]’) and xtype in (N’FN’, N’IF’, N’TF’))
begin
print '函数名称--存在'
end
七、获取用户自定义对象信息
SELECT [name] as [对象名称],
[id] as [对象编号],
crdate as [对象创建时间]
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 = 扩展存储过程
*/
八、检测数据列是否存在的方法
if exists(select * from syscolumns where id=object_id(’数据表名称’) and name=’数据列’)
begin
print '数据列---存在'
end
九、是否为自增列检测
if columnproperty(object_id(’table’),’列名’,’IsIdentity’)=1
begin
print 'table下“列名”为自增列'
end
十、检测数据表中是否存在索引
if columnproperty(object_id(’table’),’列名’,’IsIdentity’)=1
begin
print 'table下“列名”为自增列'
end
转自:http://www.maomao365.com/?p=9094
mssql sqlserver if exists 用法大汇总的更多相关文章
- mssql sqlserver 关键字 GROUPING用法简介及说明
转自: http://www.maomao365.com/?p=6208 摘要: GROUPING 用于区分列是否由 ROLLUP.CUBE 或 GROUPING SETS 聚合而产生的行 如果是原 ...
- MSSQL sqlserver系统函数教程分享
摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 如下所示: sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介 mssql sq ...
- mssql sqlserver 如何将一个日期数据转换为"年份-月份"的格式呢?
摘要: 下文讲述在sqlserver数据库中,将日期数据转换为指定格式的方法分享,如下所示: 实验环境:sqlserver 2008 R2 实现思路: 实现方法1: 使用year函数和month函数获 ...
- SQLServer中exists和except用法
一.exists 1.1 说明 EXISTS(包括 NOT EXISTS)子句的返回值是一个BOOL值.EXISTS内部有一个子查询语句(SELECT ... FROM...),我将其称为EXIST的 ...
- C#开源系统大汇总(个人收藏)
C#开源系统大汇总 一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖 ...
- C#开源资源大汇总
C#开源资源大汇总 C#开源资源大汇总 一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行 ...
- C#源码大汇总
C#高仿QQ2013可在广域网部署聊天系统GG叽叽 动态显示硬盘分区容量饼图 自定义ProgressBar控件高仿Win8进度条 多皮肤精美在线QQ悬浮客服插件 jQuery仿天猫首页多格焦点图片轮播 ...
- oracle中的exists 和not exists 用法 in与exists语句的效率问题
博文来源(oracle中的exists 和not exists 用法):http://chenshuai365-163-com.iteye.com/blog/1003247 博文来源( in与exi ...
- 转 C语言面试题大汇总
转 C语言面试题大汇总,个人觉得还是比较全地!!! \主 题: C语言面试题大汇总,个人觉得还是比较全地!!! 作 者: free131 (白日?做梦!) 信 誉 值: 100 ...
随机推荐
- flutter全栈开发学习资料大全 免费flutter学习视频 文字教程!
flutter今年特别火,google推出flutter就是为了一次开发全平台应用,包括PC端,手机wap端,android,ios直接生成APP应用,如果真的能像谷歌说的,那我们开发人员就真的好好学 ...
- react-native自定义Modal模态框|仿ios、微信弹窗RN版
前序 纵观每个优质项目,无论web端还是native原生应用开发,弹窗都是不可忽视的一环,能很大程度上直接决定用户体验.如:微信.支付宝.ios都有很成熟的一套弹窗UI展示场景. 最近一直沉迷在rea ...
- Windows下使用PuTTY连接Centos7、Linux系统目录结构、一些操作命令
PuTTY可以远程管理Linux.PuTTY官网:https://www.putty.org/ 一.使用PuTTY连接Centos7 下载安装后,打开如下图: 1.输入主机名或IP地址2.端口号默认2 ...
- mssql sqlserver 如何编写case when 多条件呢?
摘要: 下文讲述case when中多条件的编写方法,如下所示: 实验环境:sql server 2008 R2 case when 多条件编写方法 case when多条件编写语法: case ...
- s3c2440裸机-内存控制器(二、不同位宽外设与CPU地址总线的连接)
不同位宽设备的连接 black 我们先看一下2440芯片手册上外设rom是如何与CPU地址总线连接的. 8bit rom与CPU地址线的连接 8bit*2 rom与CPU地址线的连接 8bit*4 r ...
- 【cf1272】F. Two Bracket Sequences
传送门 题意: 给出\(s,t\)两个合法括号序列,现在找到一个长度最小的合法的序列\(p\),使得\(s,t\)都为其子序列. 思路: 考虑\(dp:dp[i][j][d]\)表示第一个串在\(i\ ...
- 关于JS 的原型和原型链
原型 JavaScript规定,每一个函数都有一个prototype对象属性,指向另一个对象.prototype对象属性的所有属性和方法都会被构造函数的实例继承.这意味着我们可以把那些公用的属性和方法 ...
- Leetcode 90. 子集 II
地址 https://leetcode-cn.com/problems/subsets-ii/ 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重 ...
- 如何解决android 通知栏不显示的问题
android 8.0 以后的版本,在创建通知栏的时候,加了一个channelId的东西.要想在上述版本中显示通知,总共分两步 1.创建Channel if (Build.VERSION.SDK_IN ...
- (day65)作业
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...