检查sql对象是否存在
SQL Server判断对象是否存在
1 判断数据库是否存在 Sql代码
if exists (select * from sys.databases where name = '数据库名') drop database [数据库名]
2 判断表是否存在 Sql代码
if exists (select * from sysobjects where id = object_id('表名') and objectproperty(id,'IsUserTable') = 1) drop table [表名]
if exists (select * from sysobjects where name = '表名' and xtype = 'U') drop table [表名]
3 判断存储过程是否存在 Sql代码
if exists (select * from sysobjects where id = object_id('[存储过程名]') and objectproperty(id, 'IsProcedure') = 1) drop procedure [存储过程名]
if exists (select 1 from sysobjects where name = '存储过程名' and xtype = 'P') drop procedure [存储过程名]
4 判断临时表是否存在 Sql代码
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].[视图名]')
6 判断函数是否存在 Sql代码
-- 判断要创建的函数名是否存在
if exists (select * from dbo.sysobjects where id = object_id('[dbo].[函数名]') and xtype in ('FN', 'IF', 'TF'))
wk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});
drop function [dbo].[函数名]
if exists (select 1 from sysobjects where name = '函数名' and xtype in('FN','IF','TF')) drop function [函数名]
7 获取用户创建的对象信息 Sql代码
SELECT 1 FROM sysobjects where name = [对象名] and xtype='' /*
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 列名
9 判断列是否自增列 Sql代码
if columnproperty(object_id('table'),'col','IsIdentity')=1 print '自增列' else
print '不是自增列'
SELECT * FROM syscolumns 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 '不存在'
11 查看数据库中对象 Sql代码
SELECT * FROM sys.sysobjects WHERE name='对象名'
12 查看表中主键是否存在,如存在则将其drop掉 declare @pk varchar(100)
select @pk=name from sysobjects where parent_obj=object_id('表名') and xtype='PK' if @pk is not null
exec('alter table 表名 drop '+ @pk)
检查sql对象是否存在的更多相关文章
- 解决 U2000 R017 安装报错: 检查SQL server数据库环境变量信息 ( 异常 ) [ 详细信息 ] PATH环境变量中缺少数据库路径的信息
U2000 R017 安装报错: 检查SQL server数据库环境变量信息 ( 异常 ) [ 详细信息 ] PATH环境变量中缺少数据库路径的信息 管理员模式打开注册表位置: HKEY_LOCAL_ ...
- JavaScript检查Date对象是否为Invalid Date
使用Date()构造日期对象,如果传入非日期格式的字符串,仍然能构造出Date对象. 在chrome控制台 >var date = new Date("hello"); &g ...
- jQuery:使用$获取对象后检查该对象是否存在
注意: 1)即使jQ获取到网页中不存在的元素也不会报错 2)使用$("#tt")形式获取到的永远是对象,即使网页上没有此元素 jQuery检查某个元素在网页上是否存在时,不能使用以 ...
- 使用MySQL中的EXPLAIN解释命令来检查SQL
我们看到许多客户的系统因为SQL及数据库设计的很差所以导致许多性能上的问题,这些问题不好解决,但是可以采用一套简单的策略来检查生产系统,发现并纠正一些共性问题. 很显然,您应该尽最大努力设计出最好的数 ...
- 检查SQL语句是否合法
昨天又有一个新的需求:验证文本框输入的SQL语法是否正确. 于是就开始百度,其实也挺简单的. 首先需要知道“SET PARSEONLY { ON | OFF }”. 当 SET PARSEONLY 为 ...
- inspect模块---检查活动对象
inspect模块提供了一些有用的函数来帮助获取有关活动对象(如模块,类,方法,函数,跟踪,框架对象和代码对象)的信息.例如,它可以帮助您检查类的内容,检索方法的源代码,提取和格式化函数的参数列表,或 ...
- Mybatis检查SQL注入
Mybatis 的 Mapper.xml 语句中 parameterType 向SQL语句传参有两种方式:#{ } 和 ${ }. 使用#{ }是来防止SQL注入,使用${ }是用来动态拼接参数. 如 ...
- 检查sql执行效率
SELECT SUBSTRING(ST.text, ( QS.statement_start_offset / 2 ) + 1, ( ( CASE statem ...
- 快速检查SQL两表数据是否一致
1前话 项目内实现了一新功能:克隆数据库. 2目标 克隆并非用SQLSERVER克隆,故完毕后需要检查各表内一些数据与原表一致性.一些表中的某一些列容许不一致. 3实现 将两表的需要检查的几列取出,相 ...
随机推荐
- P4455 [CQOI2018]社交网络
这个题仔细一看就是生成树计数,但是我这个记性是真的差,早就忘了.复习了一下高斯消元,然后这个题就是很裸的题了. ps:高斯消元解行列式的时候要取反. 题干: 题目背景 当今社会,在社交网络上看朋友的消 ...
- mysql数据恢复失败记录
今天遇到了MySQL有几个数据表空间丢失的问题,作为一个外行尝试好久没恢复成功,考虑到只是几个基础数据表,就删除数据表停止服务,删除ibd文件后再创新创建表解决了问题. 近期的一些事让我不像以前一样钻 ...
- UI:归档、反归档、数据持久化
支持的文件读写类型:字符串.数组.字典.NSdata (可变的.不可变的.共有8个类) 对于数组.字典在写入文件时,其中的元素也必须是以上四种类型之一. 支持的数据类型有限.且简单 写入文件: 字符 ...
- Rails 浅谈 ActiveRecord 的 N + 1 查询问题(copy)
[说明:资料来自https://ruby-china.org/topics/32364] ORM框架的性能小坑 在使用ActiveRecord这样的ORM工具时,常会嵌套遍历model.例如,有两个m ...
- error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”
vs2008提示 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR” 在外面用vs2005编写mfc程序的 ...
- java中jsp页面的css资源定位---备忘录
1:同级目录下(应该是相对定位) web-inf下的内容是不对外开放的/安全的,不能通过url直接访问.已避免非法人员通过url自己操作一些比较私密的文件信息. 能在sevlet(或者spring的c ...
- 使用gitee(码云)创建项目
注册登录 https://gitee.com/ 也可以直接用oschina的帐号. 创建项目 点击"+"号,创建项目. 执行git命令 本机创建一个你的这个项目目录,init后不要 ...
- python网络爬虫之二requests模块
requests http请求库 requests是基于python内置的urllib3来编写的,它比urllib更加方便,特别是在添加headers, post请求,以及cookies的设置上,处理 ...
- 数学 Codeforces Round #308 (Div. 2) B. Vanya and Books
题目传送门 /* 水题:求总数字个数,开long long竟然莫名其妙WA了几次,也没改啥又对了:) */ #include <cstdio> #include <iostream& ...
- Ubuntu卸载软件包
sudo apt-get autoremove --purge mysql-server-5.0 ,purge连同配置文件一起删除,autoremove自动卸载依赖包sudo apt-get remo ...