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=’对象名’

if exists用法的更多相关文章

  1. oracle中的exists 和not exists 用法详解

    有两个简单例子,以说明 “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; ...

  2. oracle中的exists 和not exists 用法 in与exists语句的效率问题

    博文来源(oracle中的exists 和not exists 用法):http://chenshuai365-163-com.iteye.com/blog/1003247 博文来源(  in与exi ...

  3. oracle中的exists 和not exists 用法详解(转)

    有两个简单例子,以说明 “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; ...

  4. Oracle exists 和not exists 用法详解

    有两个简单例子,以说明 “exists”和“in”的效率问题 1) select * from T1 where exists(select 1 from T2 where T1.a=T2.a) ; ...

  5. sql server if exists用法

    if exists用法     if exists 判断表中的内容是否存在     IF EXISTS(SELECT FROM proprice_sheet WHERE vndcode = @vndc ...

  6. sql语句exists 用法

    参考:SQL语句exists用法,Sql语句中IN和exists的区别及应用 现在有三张表 学生表S: sno ,sname 课程表C:cno ,cname 学生选课表SC: sno ,cno 查询选 ...

  7. MyBatis框架中的条件查询!关键字exists用法的详细解析

    exists用法 exists: 如果括号内子查询语句返回结果不为空,说明where条件成立,就会执行主SQL语句 如果括号内子查询语句返回结果为空,说明where条件不成立,就不会执行主SQL语句 ...

  8. Mysql之IN 和 Exists 用法

    1.基本用法 IN:后面的子查询 是返回结果集的,换句话说执行次序和Exists()不一样.子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表去.符合要求的输出,反之则不输出. Exis ...

  9. mssql sqlserver if exists 用法大汇总

    摘要: 下文讲述sqlserver中,更新脚本中常用if exists关键字的用法说明,如下所示: 实验环境:sql server 2008 R2 一.检测数据库是否存在于当前数据库引擎下 if ex ...

  10. sql 中 exists用法

    SQL中EXISTS的用法   比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(S ...

随机推荐

  1. ANDROID与.Net之间JSON实践

    Asp.Net端: JsonHelper.cs using System.Runtime.Serialization.Json; using System.IO; using System.Text; ...

  2. MATLAB图像处理基础

    MATLAB图像处理基础 2.2.1 图像文件格式及图像类型 1.MATLAB支持的几种图像文件格式: ⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像 ...

  3. 彻底解决Unknown ASTNode child: LambdaExpression 错误

    错误原因:        在于 androidStudio lint检查的时候 会把Lamda表达式 认为是错误的.解决办法:    1.打开项目中中的lint.xml改为如下格式: <?xml ...

  4. 《BackboneJS框架的技巧及模式》(2)

    <BackboneJS框架的技巧及模式>(2) 本文紧接第一部分:<BackboneJS框架的技巧及模式(1)> 作者:chszs,转载需注明.博客主页:http://blog ...

  5. MySQL定时事件

    1.创建一个测试表 CREATE TABLE aaa (timeline TIMESTAMP); 2.创建一个事件:每秒插入一条记录到数据表 CREATE EVENT e_test_insert SE ...

  6. web前端面试试题总结---javascript篇

    JavaScript 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol(创建后独一无二且不可变的 ...

  7. mysql去掉字段字符中间空格

    mysql有什么办法批量去掉某个字段字符中的空格?不仅是字符串前后的空格,还包含字符串中间的空格,答案是 replace,使用mysql自带的 replace 函数,另外还有个 trim 函数.   ...

  8. ipcs, ipcrm 命令

    ipcs命令 是linux/uinx上提供关于一些进程间通信方式的信息,包括共享内存,消息队列,信号 ipcs用法 ipcs -a  是默认的输出信息 打印出当前系统中所有的进程间通信方式的信息 ip ...

  9. [Javascript] Array methods in depth - filter

    Array filter creates a new array with all elements that pass the test implemented by the provided fu ...

  10. 使用一个小图片tile平铺到ImageView中或Activity背景

    方法两种: 首先必须在res/drawable目录下包含一个background.jpg 方法1:在res/drawable中创建一个xml文件(background_repeat.xml) 内容为 ...