sql 判断函数、存储过程是否存在
2014-09-15来源:

介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助。

1

-- 库是否存在

2

if exists(select * from master..sysdatabases where name=N'库名')

3

print 'exists'

4

else

5

print 'not exists'

1

-- 判断要创建的表名是否存在

2

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

3

-- 删除表

4

drop table [dbo].[表名]

5

GO

1

--判断要创建临时表是否存在

2

If Object_Id('Tempdb.dbo.#Test') Is Not Null

3

Begin

4

print '存在'

5

End

6

Else

7

Begin

8

print '不存在'

9

End

01

-- 判断要创建的存储过程名是否存在

02

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[存储过程名]') andOBJECTPROPERTY(id, N'IsProcedure') = 1)

03

-- 删除存储过程

04

drop procedure [dbo].[存储过程名]

05

GO

06

-- 判断要创建的视图名是否存在

07

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

08

-- 删除视图

09

drop view [dbo].[视图名]

10

GO

11

-- 判断要创建的函数名是否存在

12

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

13

-- 删除函数

14

drop function [dbo].[函数名]

15

GO

16

if col_length('表名', '列名') is null

17

print '不存在'

18

select 1 from sysobjects where id in (select id from syscolumns where name='列名') and name='表名'

更多信息请查看IT技术专栏

推荐信息
Baidu
map