Sql中判断"库、表、列,视图,存储过程"是否存在
--判断数据库是否存在
IF EXISTS (SELECT * FROM MASTER.sys.sysdatabases WHERE NAME = '库名')
PRINT 'exists '
else
PRINT 'not exists'
-- 判断要创建的表名是否存在
IF EXISTS (Select * From sysObjects Where Name ='表名' And Type In ('S','U'))
PRINT 'exists'
ELSE
PRINT 'not exists'
GO
--判断要创建临时表是否存在
If Object_Id( 'Tempdb.dbo.#Test') Is Not NULL--#Test 为临时表名
Begin
print '存在 '
End
Else
Begin
print '不存在 '
End
-- 判断要创建的存储过程名是否存在
IF EXISTS (Select * From sysObjects Where Name ='存储过程名' And Type In ('S','P'))
PRINT 'exists'
ELSE
PRINT 'not exists'
GO
--判断列名是否存在
IF EXISTS (SELECT O.NAME AS 表名,C.NAME AS 列名 FROM SYSOBJECTS O INNER JOIN SYSCOLUMNS C ON O.ID=C.ID WHERE O.NAME= '表名' AND C.NAME = '列名')
SELECT 'EXISTS'
ELSE
SELECT 'NOT EXISTS'
--判斷 表A 列C 是否存在
IF NOT EXISTS (SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID WHERE T1.NAME='A' AND T2.NAME='C')
--判断表名存在的一个函数
IF COL_LENGTH( '表名','列名') IS NULL
PRINT 'not exists'
ELSE
PRINT 'exists'
--新增修改视图SP使用先DROP, 后CREATE的方式. 如果带*的视图使用sp_refreshview刷新. 前面要加 exec
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[rpt_2033300001_v]') and OBJECTPROPERTY(id, N'IsView') = 1)
drop view [dbo].[rpt_2033300001_v]
GO
CREATE VIEW dbo.rpt_2033300001_v
AS
*********
--判断存储过程是否存在
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
-- 删除存储过程
drop procedure [dbo].[存储过程名]
GO
Create Procedure [dbo].[存储过程名]
@参数名 VARCHAR(50) --...
AS
最新文章
- Linux RAID卡优化
- java多线程详解(3)-线程的互斥与同步
- Asp.Net 高性能ORM框架 SqlSugar.ORM 2.8
- 9.28 Java基本数据类型作业
- CBOW Model Formula Deduction
- js循环添加事件的问题
- ArcEngine开发 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
- [转]jQuery Pagination Ajax分页插件中文详解
- xml直接读取节点
- vs2012新建项目产生的问题
- ios23-文件上传
- css样式表1 2017-03-11
- go笔记-限速器(limiter)
- 无法修改linux/ubuntu密码(Authentication token manipulation error )问题解决过程【转】
- 基于bootstrap的后台左侧导航菜单和点击二级菜单刷新二级页面时候菜单展开显示当前菜单
- 《Python》网络编程之黏包
- python测试开发django-29.发送html格式邮件
- Swift3 Scanner用法之判断是否数字、提取字符串里的数字
- CodeForces - 779D String Game 常规二分
- 证书吊销列表(CRL)介绍
热门文章
- 【S16】了解如何把vector和string数据传给旧的API
- JavaScript创建Map对象(转)
- AIM Tech Round (Div. 2) C. Graph and String 二分图染色
- (转)用AGG实现高质量图形输出(二)
- 搭建Spring + SpringMVC + Mybatis框架之三(整合Spring、Mybatis和Spring MVC)
- SQL自增长的数据插入
- GPS原始经纬度转百度经纬度
- Linux网卡高级命令、IP别名及多网卡绑定 转
- Golang学习 - regexp 包
- flume+kafka+storm