SqlServer——判断对象是否存在

对以下对象判断是否存在:database、table、proc、触发器、临时表、索引。

1、判断数据库:

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 [表名]

3、判断存储过程

if exists (select * from sysobjects where id = object_id(N’[存储过程名]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)  
  drop procedure [存储过程名]

4、判断临时表

if object_id(’tempdb..#临时表名’) is not null    
  drop table #临时表名

5、判断视图

--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、判断函数

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、获取用户创建的对象信息

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、判断列

if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)  
  alter table 表名 drop column 列名

9、判断列是否自增列

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、 判断表中是否存在索引

if exists(select * from sysindexes where id=object_id(’表名’) and name=’索引名’)    
  print  ’存在’    
else    
  print  ’不存在

11 、查看数据库中对象

SELECT * FROM sys.sysobjects WHERE name=’对象名’

时间: 2024-11-06 11:52:45

SqlServer——判断对象是否存在的相关文章

javascript 判断对象的内置类型

判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法.在toString方法被调用时,会执行下面的操作步骤:1. 获取this对象的[[Class]]属性的值.2. 计算出三个字符串"[object ", 第一步的操作结果Result(1), 以及 "]"连接后的新字符串.3. 返回第二步的操作结果Result(2).Object.prototype.toString方法返回的字符串,去掉前面固定的"[

判断对象类型

1.typeof不能区分数组类型和对象,只能区分原始类型与function 2.判断父级对象: isPrototypeOf -- 判断对象本身数据类型,及可能继承自原型的数据类型 let bool = Array.prototype.isPrototypeOf(obj) 3. 判断构造函数: 检查整个原型链 obj.constructor==Array 是数组,也可能继承自数组 let bool = obj instanceof Array 是数组,也可能继承自数组 4. 判断对象的内部clas

Python中 isinstance()用法 判断对象的类型

isinstance(p_object, class_or_type_or_tuple):判断对象的类型 a=123 ret=isinstance(a,int) print(ret) #输出:True li=[2,57,4] ret1=isinstance(li,list) print(ret1) #输出:True  

javascript判断对象是否为空

JavaScript是一种弱类型的脚本语言,在开发中经常会因为语法不严谨而出现一些错误. 下面的方法是判断对象是否为空的方法,包括对 null.undefind.空字符等类型. //判断是否为空 为空返回 false 不为空返回true function isNotEmpty(_value) { return ((_value === undefined || _value === null || _value === "" || _value === "undefined&

JS判断对象是否存在的方法

Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: if (myObj不存在){ 声明myObj; } 你可能会觉得,写出这段代码很容易.但是实际上,它涉及的语法问题,远比我们想象的复杂.Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法.只有对Javascript语言的实现细节非常清楚,才可能分得清它们的区别

javascript 判断对象类型

typeof typeof是一个一元运算符,它返回的结果 始终是一个字符串,对不同的操作数,它返回不同的结果. 此表总结了typeof所有可能的返回值: 操作数类型 返回值 undefined "undefined" Null "object" Boolean "boolean" Number "number" String "string" 函数对象 "function" E4X XM

(转)JavaScript中判断对象类型的种种方法

我们知道,JavaScript中检测对象类型的运算符有:typeof.instanceof,还有对象的constructor属性: 1) typeof 运算符 typeof 是一元运算符,返回结果是一个说明运算数类型的字符串.如:"number","string","boolean","object","function","undefined"(可用于判断变量是否存在). 但 type

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 = objec

freemarker判断对象是否为空或是否存在

freemarker中显示某对象使用${name}. 但如果name为null,freemarker就会报错.如果需要判断对象是否为空: <#if name??> -- </#if> 当然也可以通过设置默认值${name!''}来避免对象为空的错误.如果name为空,就以默认值("!"后的字符)显示. 对象user,name为user的属性的情况,user,name都有可能为空,那么可以写成${(user.name)!''},表示user或者name为null,