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) drop table [表名]
3 判断存储过程是否存在
if exists (select * from sysobjects where id = object_id(N'[存储过程名]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure [存储过程名]
4 判断临时表是否存在
if object_id('tempdb..#临时表名') is not null drop table #临时表名
5 判断视图是否存在
--判断是否存在'MyView52'这个试图 IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = N'MyView52') 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')) drop function [dbo].[函数名]
7 获取用户创建的对象信息
SELECT [name],[id],crdate FROM sysobjects where xtype='U'
8 判断列是否存在
if exists(select * from syscolumns where id=object_id('表名') and name='列名') alter table 表名 drop column 列名
9 判断列是否自增列
if columnproperty(object_id('table'),'col','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 '不存在'
删除索引 drop index 表名.索引名
或: drop index 索引名 on 表名(貌似2000不行)
11 查看数据库中对象
SELECT * FROM sys.sysobjects WHERE name='对象名' SELECT * FROM sys.sysobjects WHERE name='对象名'
sql server判断数据库、表、列、视图是否存在的更多相关文章
-
MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
-
SQL Server 判断数据库中是否存在表
使用场景 可以反复的执行相同脚本 方式1:查询sysobjects表 if EXISTS (SELECT * from sysobjects WHERE name='test_table') DROP ...
-
SQL Server判断数据库、表、存储过程、函数是否存在
--判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名') drop database [数据库名] --判断表是否 ...
-
SQL Server 判断数据库是否存在,表是否存在
if DB_ID('testdb') is not null -- 如果这个数据库已经存在了 drop database testdb; create database testdb; if OBJE ...
-
SQL Server 查询数据库表的列数
select count(*) from sysobjects a join syscolumns b on a.id=b.id where a.name='表名' go
-
sql server 删除所有表、视图、存储过程
如果由于外键约束删除table失败,则先删除所有约束: --/第1步**********删除所有表的外键约束*************************/ DECLARE c1 curs ...
-
Sql Server 导出数据库表结构的SQL查询语句
--导出数据库所有表 SELECT 表名 Then D.name Else '' End, 表说明 Then isnull(F.value,'') Else '' End, 字段序号 = A.colo ...
-
SQL SERVER 查看数据库表的字段类型,是否允许为NULL,默认值,主键等
)-- 表名 set @table_name='bqcform101' --============表结构 select 类别,表名or字段名,描述,字段类型,是否自增,允许为NULL,默认值 fro ...
-
sql server 清空数据库表数据
--禁用外键约束 exec sp_msforeachtable 'alter table ? nocheck constraint all ' --清空数据 truncat ...
随机推荐
-
简单的学习心得:网易云课堂Android开发第五章SharedPreferences与文件管理
一.SharedPreferences (1)SharedPreferences能够用来保存一些属于基本数据类型的数据. (2)保存数据,删除数据都是由SharedPreferences的内部接口Ed ...
-
Docker内部存储结构(devicemapper)解析(续)
dm.fs 参数dm.fs可以指定容器的rootfs的文件系统,但只支持ext4/xfs: func NewDeviceSet(root string, doInit bool, options [] ...
-
hdu---(3779)Railroad(记忆化搜索/dfs)
Railroad Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
-
Android Studio美化之优雅的logcat
博客: 安卓之家 微博: 追风917 CSDN: 蒋朋的家 简书: 追风917 博客园: 追风917 先来个图,图样吐sexy: 很简单,跟我走吧,两步: 1. 引入Logger库 首先,这个sexy ...
-
Storm官方文档翻译之在生产环境集群中运行Topology
在进群生产环境下运行Topology和在本地模式下运行非常相似.下面是步骤: 1.定义Topology(如果使用Java开发语言,则使用TopologyBuilder来创建) 2.使用StormSub ...
-
HTML怎么设置字与字之间的间距代替空格
空格:   CSS: letter-spacing字与字 word-spacing词与词 行距:line-height:1.5; 段落:<p style="margin ...
-
python学习之路前端-jQuery
jQuery简介 JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF1.5+, Safa ...
-
Get与Post区别小结
Get:是以实体的方式得到由请求Url所指定资源的信息,如果请求Url只是一个数据产生过程,那么最终要在实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述. Post:是用来向 ...
-
zabbix简易安装指南
1.php版本为5.5.37 mysql版本为5.5 nginx使用的是tengine2.2.1 2.系统为centos 7.2 最小化安装 3.使用阿里云的epel扩展源 4.首先安装依赖 yum ...
-
分析apache日志,统计访问量
cat nondomain_access_log.20090722 |awk '{print $1}'| sort | uniq -c |sort -nr