加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

判断sqlserver对象是否存在(转)

发布时间:2020-12-12 13:05:09 所属栏目:MsSql教程 来源:网络整理
导读:--查看对象是否已经存在? --数据库是否存在? ? ? --if exists (select * from sys.databases where name = ’数据库名’)??? --? drop database [数据库名]? ???? ? if exists( select ? * from ? sys.databases where ? name = 'FGM_POS' )? print '存在' ?
--查看对象是否已经存在? --数据库是否存在? ?? --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 (sysobjects where? id =OBJECT_ID(N'[FGM_bt_ePlnMain]') and? OBJECTPROPERTY(id,N'IsUserTable')=1)? '存在'? --drop table [表名]? --或? 'dbo.FGM_bt_ePlnMain')=1)? '存在'? ?? --存储过程是否存在? ?? --if exists (select * from sysobjects where id = object_id(N’[存储过程名]’) and OBJECTPROPERTY(id,N’IsProcedure’) = 1)??? --? drop procedure [存储过程名]?? ????? '[FGM_sp_SyncePlnMain]''IsProcedure')=1)? '存在'? --或? 'dbo.FGM_sp_SyncePlnMain')=1)? '存在'? ?? --临时表是否存在? ?? --if object_id(’tempdb..#临时表名’) is not null????? --? drop table #临时表名?? ????? into? #temp? dbo.FGM_bt_ConsumInfoDetail_B? if OBJECT_ID ('tempdb..#temp')is? not? null? '存在'? --或者? tempdb.dbo.sysobjects id=OBJECT_ID(N)type='U')? '存在'? ?? --视图是否存在? ----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? id=OBJECT_ID(N'[dc_adplan]') and type='V')? print '存在'? --或? if exists (select * from sysobjects where id=OBJECT_ID(N'dbo.dc_adplan')? '? --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'IFTF'))? '? --或? [GetResourceName]'))? '? --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')? '? --alter table 表名 drop column 列名? ?? --判断列是否自自增列? ?? --if columnproperty(object_id('table'),'col’,’IsIdentity’)=1??? --? print '自增列'??? --else??? --? print '不是自增列'??? ?? if COLUMNPROPERTY(object_id ('FGM_bt_ePlnMain'),'ePlnID',monospace!important; min-height:auto!important; color:blue!important; background:none!important">'IsIdentity')=1? '自增列'? else? '非'? ?? ?? --查看数据库中对象? --select * from sys.sysobjects where name='对象名' ?? sys.sysobjects 'FGM_bt_ePlnMain'?? --获取用户创建的对象信息? ?? SELECT? [],[id],crdate FROM? 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://www.voidcn.com/article/p-buikrbqo-ps.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!


    推荐文章
      热点阅读