--查看对象是否已经存在 
--数据库是否存在 
  
--if exists (select * from sys.databases where name = ’数据库名’)   
--  drop database [数据库名] 
     
if exists(select * from sys.databases where name='FGM_POS'
print '存在' 
--drop database [数据库名] 
  
--表是否存在 
  
--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'[FGM_bt_ePlnMain]') and OBJECTPROPERTY(id,N'IsUserTable')=1) 
print '存在' 
--drop table [表名] 
--或 
if exists (select * from sysobjects where id =OBJECT_ID(N'dbo.FGM_bt_ePlnMain') and OBJECTPROPERTY(id,N'IsUserTable')=1) 
print '存在' 
  
--存储过程是否存在 
  
--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'[FGM_sp_SyncePlnMain]') and OBJECTPROPERTY(id,N'IsProcedure')=1) 
print '存在' 
--或 
if exists (select * from sysobjects where id =OBJECT_ID(N'dbo.FGM_sp_SyncePlnMain') and OBJECTPROPERTY(id,N'IsProcedure')=1) 
print '存在' 
  
--临时表是否存在 
  
--if object_id(’tempdb..#临时表名’) is not null     
--  drop table #临时表名  
     
select * into #temp from dbo.FGM_bt_ConsumInfoDetail_B 
if OBJECT_ID ('tempdb..#temp')is not null 
print '存在' 
--或者 
if exists(select * from tempdb.dbo.sysobjects where id=OBJECT_ID(N'tempdb..#temp')and type='U'
print '存在' 
  
--视图是否存在 
----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].[视图名]’ 
----SQL Server 2008 
if exists (select * from sysobjects where id=OBJECT_ID(N'[dc_adplan]') and type='V') 
print '存在
--或 
if exists (select * from sysobjects where id=OBJECT_ID(N'dbo.dc_adplan') and type='V') 
print '存在
--drop view dbo.dc_adplan 
  
--函数是否存在 
  
 --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.GetResourceName')and xtype in (N'FN',N'IF',N'TF')) 
print '存在
--或 
if exists (select * from dbo.sysobjects where id=OBJECT_ID (N'[GetResourceName]')and xtype in (N'FN',N'IF',N'TF')) 
print '存在
--drop function dbo.GetResourceName 
  
--列是否存在 
  
--if exists(select * from syscolumns where id=object_id(’表名’) and name=’列名’)   
--  alter table 表名 drop column 列名  
  
if exists(select * from syscolumns where id =OBJECT_ID('FGM_bt_ePlnMain') and name='ePlnName') 
print '存在
--alter table 表名 drop column 列名 
  
--判断列是否自自增列 
  
--if columnproperty(object_id('table'),'col’,’IsIdentity’)=1   
--  print '自增列'   
--else   
--  print '不是自增列'   
  
if COLUMNPROPERTY(object_id ('FGM_bt_ePlnMain'),'ePlnID','IsIdentity')=1 
print '自增列' 
else 
print '非' 
  
  
--查看数据库中对象 
--select * from sys.sysobjects where name='对象名'
  
select * from sys.sysobjects where name='FGM_bt_ePlnMain'
  
--获取用户创建的对象信息 
  
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 = 扩展存储过程   
*/ 
  
本文出自 “Don't Know” 博客,请务必保留此出处http://3941954.blog.51cto.com/3931954/774083

判断sqlserver对象是否存在的更多相关文章

  1. 如何判断Javascript对象是否存在

    Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: ...

  2. 【转】如何判断Javascript对象是否存在

    Javascript语言的设计不够严谨,很多地方一不小心就会出错. 举例来说,请考虑以下情况. 现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明.用自然语言描述的算法如下: ...

  3. 转载 -- 如何判断Javascript对象是否存在

    http://www.ruanyifeng.com/blog/2011/05/how_to_judge_the_existence_of_a_global_object_in_javascript.h ...

  4. 判断某个对象是不是DOM对象

    在写js代码时有时需要判断某个对象是不是DOM对象,然后再进行后续的操作,这里我给出一种兼容各大浏览器,同时又算是比较稳妥的一种方法. 要判断一个对象是否DOM对象,首先想到的无非就是它是否具有DOM ...

  5. 判断JS对象是否拥有某属性的方法举例

    判断JS对象是否拥有某属性 JS是否拥有某属性的判断方法,这里提供两种方式,供大家参考. 1.in 运算符 var obj = {name:'jack'}; alert('name' in obj); ...

  6. 判断python对象是否可调用的三种方式及其区别

    查找资料,基本上判断python对象是否为可调用的函数,有三种方法 使用内置的callable函数 callable(func) 用于检查对象是否可调用,返回True也可能调用失败,但是返回False ...

  7. 【XAF问题】如何判断这个对象的进出类型

    一.问题 1. 如何判断这个对象的进出类型 二.思路 第一次进过的时候,存个字段在对象的字段,例如已经过了就给他true,再回来就是false,再过去就true 三.方法 在 A_rfidperson ...

  8. JavaScript判断该对象是否为数组

    typeof 用来检测数据类型,Function, String, Number, Undefined都可以使用typeof来判断. function test(){} console.log(typ ...

  9. Codesmith怎么判断sqlserver数据库字段是不是标识自增字段

    Codesmith怎么判断sqlserver数据库字段是不是标识自增字段 使用ExtendedProperty扩展信息判断 CS_isIdentity:是否为标识符,不支持Access CS_isCo ...

随机推荐

  1. java 注解 学习

    周末闲来无事,想要研究一下注解方面的知识,曾经看过几次,都忘记了,这次学习下,而且写篇文章记录下, 1.元注解  元注解是指注解的注解.包含 @Retention @Target @Document ...

  2. dev layoutControl 控件使用

    对于排版控件,用微软的方法都是先拉 label再拉一个 Textbox  ,  虽然微软的控件了有类似于 EXCEL的单元格全并功能,但用起来使终不方便, 今天研究了一下 DEV 的这个控件,比微软的 ...

  3. CodeForces 484A Bits

    意甲冠军: 10000询价  每次查询输入L和R(10^18)  在区间的二进制输出指示1大多数数字  1个数同样输出最小的 思路: YY一下  认为后几位全是1的时候能保证1的个数多  那么怎样构造 ...

  4. oracle的unique约束

    unique约束是唯一性约束,对于需要列类型应用程序会重复出现分歧值.您可以加入一个单独的列unique约束.能够加入多个列unique约束().假设为多个列加入一个unique约束,仅仅须要保证这多 ...

  5. Hello ASP.NET5

    2015年11月30日, ASP.NET 5 RC1 已经发布,本文尝试了一下ASP.NET5项目的创见一发布到IIS.开发环境,win10 64位,visual studio2015(已更新upda ...

  6. DataTable填补了实体类返回泛型集合

    坤哥见我昨天找了一段代码,如下面: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我,假设实体有500多个属性,难道也要 ...

  7. SqlServer中存储过程中将Exec的执行结果赋值给变量输出

    原文 SqlServer中存储过程中将Exec的执行结果赋值给变量输出 背景: 遇到这样一种情况:动态向存储过程中传入表名和表的某些属性(这里用到的是主键ID),然后利用这两个变量查出一条数据的某些字 ...

  8. toString()和String.valueof()比较

     toString()和String.valueof()比较 做项目时常常会用到类型转换,比较常用的是toString(),但其实还是用String.valueof()比较好.看源码后他们的区别就更加 ...

  9. RFC 协议下载方法

    rfc官方网站:http://tools.ietf.org 举例说明: RFC7230是HTTP 1.1协议,此文档的URL为:http://tools.ietf.org/html/rfc7230 你 ...

  10. 【Nginx】如何应对HTTP组态

    相同的配置项可以在相同的时间内发生的多个块.例如HTTP片.server片.location片.阻断取之于在配置项值. 处理HTTP配置项分下面4个步骤: 创建数据结构用于存储配置项相应的參数 设定配 ...