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

时间:2023-1-17 作者:admin

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

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:ms173@126.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。