SQLServer资源是否存在汇总
1、判断数据库是否存在 使用资源:“master..sysdatabases”存放着所有数据库的信息 判断案例: if exists(select * from master..sysdatabases where name=N'库名') 2、判断数据表是否存在 使用资源:“dbo.sysobjects ”存放着所有数据表的信息 判断案例: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id,N'IsUserTable') = 1) 3、判断临时表是否存在 使用资源:“tempdb..sysobjects”/"tempdb.dbo.sysobjects"存放着所有临时表的信息 判断案例: if exists (select * from tempdb..sysobjects where id = object_id(N'tempdb..#临时表名') ) 4、object_id()方法实现方便快速地判断 判断案例: --if?? object_id('tb_table') is not null? --临时表判断 if?? object_id('tb_table') is not null? --正式表判断 扩展知识: object_id()可接受两个参数,第一个如上所示,代表资源的名称,上面的就是表的名字,但往往我们要说明我们所要创建的是什么类型的资源,? 这样sql可以明确地在一种类型的资源中查找是否有重复的名字,如下:? ?u ? s ? v ? p ? 可使用select distinct type,type_desc from sys.objects 获得全部信息 5、判断表中列是否存在 判断案例: IF COL_LENGTH( '表名','列名') IS NULL 6、判断视图是否存在 判断案例: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[视图名]') and OBJECTPROPERTY(id,N'IsView') = 1) 7、判断存储过程是否存在 判断案例: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[存储过程名]') and OBJECTPROPERTY(id,N'IsProcedure') = 1) 5、判断方法是否存在 判断案例: --if exists (select * from sysobjects where xtype='fn' and name='函数名') 链接:http://blog.sina.com.cn/s/blog_6d2675450101b6fq.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |