sql 判断函数、存储过程是否存在的代码整理

前端技术 2023/09/09 MSSQL

下面为您介绍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=\'表名\'

本文地址:https://www.stayed.cn/item/24038

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。