--查看对象是否已经存在 
--数据库是否存在 
  
--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. android传感器;摇抽奖功能

    package com.kane.sensortest; import java.util.Random; import android.hardware.Sensor; import android ...

  2. c# socket udp广播

    一.广播消息 由于Tcp是有连接的,所以不能用来发送广播消息.发送广播消息,必须用到Udp,Udp可以不用建立连接而发送消息.广播消息的目的IP地址是一种特殊IP地址,称为广播地址.广播地址由IP地址 ...

  3. dev layoutControl 控件使用

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

  4. HDU 5050 Divided Land(进制转换)

    题意  给你两个二进制数m,n   求他们的最大公约数  用二进制表示  0<m,n<2^1000 先把二进制转换为十进制  求出最大公约数  再把结果转换为二进制  数比較大要用到大数 ...

  5. 4.锁定--Java的LockSupport.park()实现分析

    LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了主要的线程同步原语. LockSupport实际上是调用了Unsafe类里的函数.归结到Unsafe里,仅仅有两个函数: ...

  6. HDU ACM 1267 下沙的沙子有几粒?-&gt;DP

    题意:m个H和n个D,从左開始数H的累积个数总不比D的累计数少的排列有多少种.比如,3个H和1个D共同拥有3种符合要求的排列H D H H,H H D H,H H  H D. 分析:状态方程为,DP[ ...

  7. Ini文件帮助类

    .ini文件是什么 .ini 文件是Initialization File的缩写,就是初始化文件.在Windows系统中,其是配置文件所采用的存储格式(主要是system.ini,win.ini,sy ...

  8. osx下一个MobileBackups简介

    自从开启了mac的TimeMachine之后,使用了一段时间的mac磁盘空间降低的非常多,于是使用du -d1(disk usage and depth is one)命令查看/文件夹空间的使用情况, ...

  9. 使用Heroku,需要locale至zh_CN,代替zh-CN

    使用Heroku.需要locale至zh_CN,代替zh-CN 我认为这是由于在application.rb于,config.i18n.default_locale默认接受值这是Symbol, 而当我 ...

  10. WPF学习(6)路由事件

    做过.net开发的朋友对于事件应该都不陌生.追溯历史,事件(Event)首先应用在Com和VB上,它是对在MFC中使用的烦琐的消息机制的一个封装,然后.net又继承了这种事件驱动机制,这种事件也叫.n ...