判断sqlserver对象是否存在

时间:2021-11-05 03:01:35
--查看对象是否已经存在 
--数据库是否存在 
  
--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. C#获取一个目录下的所有文件名

    今天在做图像训练的时候发现需要把一大堆图片进行处理再读进分类器,本来是用C++写的,结果发现并不会,于是就用回了我最爱的C#,结果棒棒哒. 代码如下,简单粗暴,比网上C++的语法好看多了 using ...

  2. PHP 操作socket 实现简易聊天室

    <?php $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP ); socket_bind($socket ,'127.0.0.1', ...

  3. 【转】android Graphics(四):canvas变换与操作

    android Graphics(四):canvas变换与操作 分类: 5.andriod开发2014-09-05 15:05 5877人阅读 评论(18) 收藏 举报   目录(?)[+]   前言 ...

  4. &lbrack;SQL&rsqb;获取所有数据库名、获取数据库中表名、获取表中的字段名

    --()获取所有数据库名: Select Name FROM Master..SysDatabases order by Name --()获取所有表名 --XType=''U'':表示所有用户表; ...

  5. vi &sol; vim 删除以及翻页 其它命令

    vim中翻页的命令 vim中翻页的命令 整页翻页 ctrl-f ctrl-b f就是forword b就是backward 翻半页 ctrl-d ctlr-u d=down u=up 滚一行 ctrl ...

  6. Windows 10 Creaters Update 新功能——画中画模式和窗口高斯模糊

    在Windows 10 Creaters Update中,可以给窗口设置高斯模糊了,只要几行代码! <Grid Loaded="Grid_Loaded"> <Gr ...

  7. Hadoop 一&colon; NCDC 数据准备

    Hadoop 本文介绍Hadoop- The Definitive Guide一书中的NCDC数据准备,为后面的学习构建大数据环境; 环境 3节点 Hadoop 2.7.3 集群; java vers ...

  8. python小白——进阶之路——day2天-———变量的缓存机制&plus;自动类型转换

    # ###同一文件,变量的缓存机制 ''' -->Number 部分 1.对于整型而言,-5~正无穷范围内的相同值 id一致 2.对于浮点数而言,非负数范围内的相同值 id一致 3.布尔值而言, ...

  9. Selenium&&num;183&semi;自动化框架集成

    date:2018513 day08aft 一.自动化框架集成分层 1.config 配置(项目配置——测试环境,公司环境,线上环境:以中国人才热线登陆为例,网址.用户名.密码等) 2.public ...

  10. VMware Ubuntu蓝屏问题解决

    解决方法: 问题分析启动 Ubuntu 可以进入登录界面,说明系统是可以运行起来的.没有发生大块的核心数据损坏,linux 系统一般都可以修复,一定要淡定.于是开始放狗(google)搜索.“VMwa ...