sql判断各种类型的东西存在与否(参考)

最近遇到的几个问题,整理出来一起分享一下,HOHO~

因为经常遇到一些数据库要升级的情况,因为之前做出修改时并未及时保存相关的SQL,后只能自行进行对比数据库结构作出对比后,自行书写升级脚本。

众所周知,所有添加的东西或者修改的东西都一定要先判断是存在性,所有相关类型的判断存在与否这里我都将罗列出来,供需要的朋友作个参考!

 

表中某个栏位的判断:

if col_length('TC_Card','CardValueBZXF') is null –判断表TC_CardCardValueBZXF栏位是否为NULL

某个表是否存在的判断:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[TC_CardTypeChange]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) --判断TC_CardTypeChange这个表是否存在

存储过程是否存在的判断:

If exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usp_SubsidyContrast_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) --判断存储过程usp_SubsidyContrast_Update是否存在

判断视图是否存在:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[v_XFAndJS]') and OBJECTPROPERTY(id, N'IsView') = 1)

判断函数是否存在:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_Int2IP]') and xtype in (N'FN', N'IF', N'TF'))

判断字段描述是否存在:

IF EXISTS (SELECT * FROM ::fn_listextendedproperty(N'MS_Description' , N'USER',N'dbo', N'TABLE',N'YC_ECMeter', N'COLUMN',N'WaterPriceID'))

先就这么多了,以后再需要再添加咯,HOHO~

posted @ 2010-04-15 12:07  medci(卡樂江)  阅读(860)  评论(0编辑  收藏  举报