Sql 判断函数是否存在、sql判断表是否存在、sql判断存储过程是否存在、sql判断视图是否存在

--数据库是否存在
IF  exists(SELECT  * FROM  master..sysdatabases WHERE  name=N'库名')
PRINT  'exists'
ELSE 
PRINT  'not exists'
---------------
-- 判断要创建的表名是否存在
IF  exists (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
-- 删除表
DROP TABLE [dbo].[表名]
GO

---------------
--判断要创建临时表是否存在
IF Object_Id('Tempdb.dbo.#Test') Is Not Null
Begin
    PRINT '存在'
End
Else
Begin
    PRINT '不存在'
END

---------------
-- 判断要创建的存储过程名是否存在
IF exists (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
-- 删除存储过程
DROP procedure [dbo].[存储过程名]
GO
---------------
-- 判断要创建的视图名是否存在
IF exists (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[视图名]') and OBJECTPROPERTY(id, N'IsView') = 1)
-- 删除视图
DROP VIEW [dbo].[视图名]
GO
---------------
-- 判断要创建的函数名是否存在
IF exists (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[函数名]') and xtype in (N'FN', N'IF', N'TF'))
-- 删除函数
DROP FUNCTION  [dbo].[函数名]
GO
IF col_length('表名', '列名') is null
PRINT '不存在'
SELECT 1 FROM sysobjects WHERE id in (SELECT id FROM syscolumns WHERE name='列名') and name='表名'

转载:http://www.bitscn.com/pdb/mssql/201010/191258.html 

 

posted @ 2016-07-25 11:42  蓝雨冰城  阅读(1374)  评论(0编辑  收藏  举报