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=‘表名‘

-----------------------------

换种方式:

if (object_id(‘p_cus_count‘, ‘P‘) is not null)
drop proc p_cus_count
go

时间: 2024-10-03 08:26:09

SQL 判断 ‘表,存储过程,函数 ...’ 已是否存在的相关文章

查看SQL SERVER 加密存储过程,函数,触发器,视图

原文:查看SQL SERVER 加密存储过程,函数,触发器,视图 create  PROCEDURE sp_decrypt(@objectname varchar(50))ASbeginset nocount on--CSDN:j9988 copyright:2004.07.15 --V3.2 --破解字节不受限制,适用于SQLSERVER2000存储过程,函数,视图,触发器--修正上一版"视图触发器"不能正确解密错误--发现有错,请E_MAIL:[email protected]be

sql 判断 表 视图 存储过程 存在 然后 删除

sql 判断 函数 存储过程是否存在的方法 (2010-12-03 10:08:57) 转载▼     下面为您介绍sql下用了判断各种资源是否存在的代码,需要的朋友可以参考下,希望对您学习sql的函数及数据库能够有所帮助.库是否存在if exists(select * from master..sysdatabases where name=N'库名')print 'exists'elseprint 'not exists'----------------- 判断要创建的表名是否存在if ex

SQl 判断 表 视图 临时表等 是否存在

1.判断是否存在addOneArticle这个存储过程 if Exists(select name from sysobjects where NAME = 'addOneArticle' and type='P') drop procedure addOneArticle 2.判断是否存在countAr这个触发器 if exists(select * from dbo.sysobjects where id = object_id(N'[dbo].[countAr]') and OBJECTP

sql 判断表是否存在,判断列是否存在

判断表是否存在: 语法: SELECT * FROM dbo.SysObjects where id = object_id(N'表名') 例子: SELECT * FROM dbo.SysObjects where id = object_id(N'ExchangeLog') if exists(SELECT * FROM dbo.SysObjects where id = object_id(N'ExchangeLog')) print '表存在' else print '表不存在' 判断列

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'IsUse

MS SQL 批量给存储过程/函数授权

在工作当中遇到一个类似这样的问题:要对数据库账户的权限进行清理.设置,其中有一个用户Test,只能拥有数据库MyAssistant的DML(更新.插入.删除等)操作权限,另外拥有执行数据库存储过程.函数的权限,但是不能进行DDL操作(包括新建.修改表.存储过程等...),于是需要设置登录名Test的相关权限: 1:右键单击登录名Test的属性. 2: 在服务器角色里面选择"public"服务器角色. 3:在用户映射选项当中,选择"db_datareader".&qu

关于SQL数据表存储过程表名前缀换成dbo代码

1.全部表名换成dbo <span style="font-size:18px;">EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' '</span> 2.存储过程全部换成dbo <span style="font-size:18px;">CREATE PROCEDURE dbo.ChangeObjectOwner @OldOwner as NVARCH

SQL判断表不存在创建表,字段不存在,添加字段

判断如果表不存在,就创建表: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablename]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) begin CREATE TABLE [dbo].[tablename] ( [FID] [int] NOT NULL , [FCode] [varchar] (255) COLLATE Chinese_PRC_CI

SQL 判断表或字段是否存在

tPlayer 表名 sName 字段名 if object_id(N'tPlayer',N'U') is null print '不存在' else print '存在' IF NOT EXISTS(SELECT * FROM syscolumns WHERE [ID] = object_id(N'tPlayer') AND [NAME] = N'sName') print '不存在' else print '存在'