SQL SERVER 判断是否存在数据库、表、列、视图
SQL SERVER 判断是否存在数据库、表、列、视图
--1. 判断数据库是否存在
IF EXISTS (SELECT * FROM SYS.DATABASES WHERE NAME = '数据库名')
DROP DATABASE [数据库名]
--2. 判断表是否存在
IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N'[表名]') AND OBJECTPROPERTY(ID, N'ISUSERTABLE') = 1)
PRINT '存在'
ELSE
PRINT '不存在'
--3. 判断存储过程是否存在
IF EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(N'[存储过程名]') AND OBJECTPROPERTY(ID, N'ISPROCEDURE') = 1)
PRINT '存在'
ELSE
PRINT '不存在'
--4. 判断临时表是否存在
IF OBJECT_ID('TEMPDB..#临时表名') IS NOT NULL
PRINT '存在'
ELSE
PRINT '不存在'
--5. 判断视图是否存在
--SQL SERVER 2005
IF EXISTS (SELECT * FROM SYS.VIEWS WHERE OBJECT_ID = '[DBO].[视图名]'
PRINT '存在'
ELSE
PRINT '不存在'
--6. 判断函数是否存在
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[DBO].[函数名]') AND XTYPE IN (N'FN', N'IF', N'TF'))
PRINT '存在'
ELSE
PRINT '不存在'
--7. 获取用户创建的对象信息
SELECT [NAME],[ID],CRDATE FROM SYSOBJECTS WHERE XTYPE='U'
/*
XTYPE 的表示参数类型,通常包括如下这些
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
*/
--8. 判断列是否存在
IF EXISTS(SELECT * FROM SYSCOLUMNS WHERE ID = OBJECT_ID('表名') AND NAME = '列名')
PRINT '存在'
ELSE
PRINT '不存在'
--9. 判断列是否自增列
IF COLUMNPROPERTY(OBJECT_ID('表名'),'列名','ISIDENTITY') = 1
PRINT '自增列'
ELSE
PRINT '不是自增列' SELECT * FROM SYS.COLUMNS WHERE OBJECT_ID = OBJECT_ID('表名') AND IS_IDENTITY = 1 --10. 判断表中是否存在索引
IF EXISTS(SELECT * FROM SYSINDEXES WHERE ID = OBJECT_ID('表名') AND NAME='索引名')
PRINT '存在'
ELSE
PRINT '不存在'
--11. 查看数据库中对象
SELECT * FROM SYS.SYSOBJECTS WHERE NAME='对象名'
SQL SERVER 判断是否存在数据库、表、列、视图的更多相关文章
- sql server 判断是否存在数据库,表,列,视图
1 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] 2 判断表 ...
- sql server快速删除整个数据库表和存储过程
情况:在远程数据库删除表执行太慢,表过多,数据库无权删除 结果:保留空数据库 方法:利用sql语句,查询网络文摘解决. 说明: 有些有约束,不能直接delete,需要先删除所有约束,语句: DECLA ...
- Sql Server 判断表或数据库是否存在
发布:thebaby 来源:脚本学堂 [大 中 小] 本文详细介绍了,在sql server中判断数据库或表是否存在的方法,有理论有实例,有需要的朋友可以参考下,一定有帮助的.原文地址:h ...
- SQL SERVER 判断是否存在并删除某个数据库、表、视图、触发器、储存过程、函数
-- SQL SERVER 判断是否存在某个触发器.储存过程 -- 判断储存过程,如果存在则删除IF (EXISTS(SELECT * FROM sysobjects WHERE name='proc ...
- Expression构建DataTable to Entity 映射委托 sqlserver 数据库里面金额类型为什么不建议用float,实例告诉你为什么不能。 sql server 多行数据合并成一列 C# 字符串大写转小写,小写转大写,数字保留,其他除外 从0开始用U盘制作启动盘装Windows10系统(联想R720笔记本)并永久激活方法 纯CSS打造淘宝导航菜单栏 C# Winform
Expression构建DataTable to Entity 映射委托 1 namespace Echofool.Utility.Common { 2 using System; 3 using ...
- 【SQL Server高可用性】数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表
原文:[SQL Server高可用性]数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表 经常在论坛中看到有人问数据同步的技术,如果只是同步少量的表,那么可以考虑使 ...
- Sql Server 导入还有一个数据库中的表数据
在涉及到SQL Server编程或是管理时一定会用到数据的导入与导出, 导入导出的方法有多种,此处以SQL Server导入表数据为例.阐述一下: 1.打开SQL Server Management ...
- 基于Sql Server 2008的分布式数据库的实践(五)
原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------------------------------------- ...
- MySQL&SQL server&Oracle&Access&PostgreSQL数据库sql注入详解
判断数据库的类型 当我们通过一些测试,发现存在SQL注入之后,首先要做的就是判断数据库的类型. 常用的数据库有MySQL.Access.SQLServer.Oracle.PostgreSQL.虽然绝大 ...
随机推荐
- mysql中把空值放在最后,有值的数据放在前面
order by column is null,column; 如果:order by column,则column中空值的数据放在最前面,有数据的放在后面
- 【BZOJ1604】[Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 Treap+并查集
[BZOJ1604][Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 Description 了解奶牛们的人都知道,奶牛喜欢成群结队.观察约翰的N(1≤N≤100000) ...
- ajax学习笔记(3)--$.get()方法
<head runat="server"> <title>jQuery中的$.get()方法</title> <script src=&q ...
- Cocos2d-X开发中国象棋《九》走棋规则
在上一节中实现了走棋,这篇博客将介绍中国象棋中的走棋规则 在写博客前先可能一下象棋的走棋规则: 1)将 将的坐标关系:横坐标相等,纵坐标相减绝对值等于1,或者纵坐标相等,横坐标相减绝对值等于1 将的特 ...
- 辛星跟您玩转vim第四节之操作文本内容
首先值得一提的是.我的vim教程pdf版本号已经写完了.大家能够去下载,这里是csdn的下载地址:csdn下载,假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http:// ...
- linux install beanstalkd
you can instal it via git and then copy systemd script: Step 0. Install git yum install git Step 1. ...
- [java,maven] 使用 maven 来搭建简单的 netty 开发环境
大致过程是: 首先, 使用 mvn 命令在指定路径下面创建一套简单的 java 文件包. 然后, 使用 JIdea 导入 maven 项目的方式将创建好的文件包加载到 IDE 环境中.‘ 接下来, ...
- angularJs 购物车模型
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link rel= ...
- MySQL——存储引擎
核心知识点 1.InnoDB:数据和索引存放在单独的文件,聚簇索引,行级锁,事务,MVCC 2.MyISAM: (1)缺点:不支持事务和表级锁,因为不支持表锁,锁颗粒比较大,因此适合只读和小文件. ( ...
- linux下chrome和chromedriver的安装
1.安装chrome 用下面的命令安装最新的 Google Chrome yum install https://dl.google.com/linux/direct/google-chrome-st ...