博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MS SQL 中判断 数据库, 存储过程,表,临时表,视图,函数,用户,用户创建对象 等是否存在 SQL脚本...
阅读量:7200 次
发布时间:2019-06-29

本文共 3166 字,大约阅读时间需要 10 分钟。

摘自:

 

sql判断存储过程是否存在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 2000IF EXISTS (SELECT * FROM sysviews WHERE object_id = ’[dbo].[视图名]’--SQL Server 2005IF 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=110 判断表中是否存在索引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=’对象名’

 

 

转载地址:http://ppbum.baihongyu.com/

你可能感兴趣的文章
日本统合幕僚长否认“威胁飞行” 要求韩方冷静应对
查看>>
美银行电讯业出手援助联邦雇员 政府重开见曙光?
查看>>
去年检察机关依法决定不批捕29万余人 同比上升10.8%
查看>>
“走出去” 哈弗全球500万盛典暨全球战略发布会举行
查看>>
注解就这么简单
查看>>
每页500条数据的渲染优化思路(1)
查看>>
极客侦探闯关题:编程解密,拯救老板|2019福利贴
查看>>
Scrapy 如何设置日志
查看>>
BCH的超级大利好
查看>>
由React Router引起的组件重复渲染谈Route的使用姿势
查看>>
iOS性能优化之页面加载速率
查看>>
Google JavaScript 代码风格指南
查看>>
Netty(三) 什么是 TCP 拆、粘包?如何解决?
查看>>
从0开始写一个基于Flutter的开源中国客户端(6)——各个静态页面的实现
查看>>
shiro教程(1):基于url权限管理
查看>>
从JDK角度认识枚举enum
查看>>
理解virtual dom的实现细节-snabbdom
查看>>
Vue二次封装axios为插件使用
查看>>
Electron-vue开发实战2——引入基于Lodash的JSON数据库lowdb
查看>>
事务隔离(一):ANSI SQL事务隔离级别,限制及扩展
查看>>