t-sql判断数据库对象是否存在
1 系统表sys.sysobjects
在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行,详细介绍参考MSDN
2 OBJECTPROPERTY
返回当前数据库中架构范围内的对象的有关信息,MSDN介绍
3 判断数据库、表、视图、存储过程、索引、列是否存在语句
SELECT * FROM sys.sysobjects
GO
/*
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 = 扩展存储过程
*/--数据库
IF exists( SELECT 1 from sys. sysdatabases where name = dbname)
begin
drop database dbname
end --表
IF exists( SELECT 1 from sys. sysobjects where id = object_id (N'tbname') AND OBJECTPROPERTY (id, N'IsUserTable') = 1)
BEGIN
drop TABLE tbname
END --存储过程
IF exists( SELECT 1 from sys. sysobjects where id = object_id(N'System_GetTableCreateSql' )
AND OBJECTPROPERTY (id, N'IsProcedure') = 1)
BEGIN
drop PROC System_GetTableCreateSql
END --函数
IF exists (SELECT 1 from sys.sysobjects where id = object_id('procname' ))
BEGIN
drop Function procname
END --视图
IF exists( SELECT 1 from sys. views where object_id = object_id(N'viewname' ))
BEGIN
drop VIEW viewname
END --列
IF exists( SELECT 1 from syscolumns where id =object_id( 'tbname') and name='columnName' )
BEGIN
alter table tbname drop column columnName
END --索引
IF exists( SELECT 1 from sys. sysindexes where id= object_id('tbname' ) and name='indexName' )
BEGIN
drop INDEX indexName ON tbname
END
t-sql判断数据库对象是否存在的更多相关文章
- 查询Sql Server数据库对象结构
查询Sql Server数据库对象结构 查询数据库 查询架构 查询表 查询列 查询存储过程 查询视图 1.查询某一服务器下所有数据库 select t.[name] as 数据库 from sys.d ...
- SQL Server IF Exists 判断数据库对象是否存在的用法
1 判断数据库是否存在Sql代码 if exists (select * from sys.databases where name = ’数据库名’) drop database [数据库名] ...
- SQL Server 数据库对象命名参考
一. 引言 编码规范是一个优秀程序员的必备素质,然而,有很多人非常注重程序中变量.方法.类的命名,却忽视了同样重要的数据库对象命名.这篇文章结合许多技术文章和资料,以及我自己的开发经验,对数据库对象的 ...
- 基于Python的SQL Server数据库对象同步轻量级实现
缘由 日常工作中经常遇到类似的问题:把某个服务器上的某些指定的表同步到另外一台服务器.类似需求用SSIS或者其他ETL工作很容易实现,比如用SSIS的话就可以,但会存在相当一部分反复的手工操作.建源的 ...
- SQL 判断数据库是否有相关表 字段
--判断数据库是否有相关表 if exists (select 1 from sysobjects where id = object_id(' 表名 ') and type = ' U ' ); - ...
- Sql Server数据库对象访问权限控制
以下内容主要针对database层面的数据访问权限(比如select, insert, update, delete, execute…) 1.直接给user权限GRANT EXECUTE TO [u ...
- sql 判断 数据库 表 字段 是否存在
select * From master.dbo.sysdatabases where name='数据库名'select * from sysobjects where id = object_id ...
- Sql中判断“数据库"、"表"、"临时表"、"存储过程"和列”是否存在
--判断数据库是否存在 IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME = ''库名'') PRINT ''exists ...
- SQL Server数据库存在判断语句及系统表简介 转
Transact-SQL Exists Sentences--判断数据库是否存在IF EXISTS(SELECT * FROM master.sysdatabases WHERE name=N'库名' ...
随机推荐
- Laravel一些功能的简单总结
一.事件/广播 1.命令(事件在目录Events中, 监听器在Listeners中)artisan make:event 或 artisan event:generate前者创建一个事件,后者根据pr ...
- HDOJ 1534 Schedule Problem 差分约束
差分约数: 求满足不等式条件的尽量小的值---->求最长路---->a-b>=c----> b->a (c) Schedule Problem Time Limit: 2 ...
- 懒人学习automake, Makefile.am,configure.ac(转)
已经存在Makefile.am,如何生成Makefile? 步骤: [root@localhost hello]# autoscan .///在当前文件夹中搜索 [root@localhost hel ...
- unordered_map 与 map 的对比(转)
unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value.不同的是unordered_map不会根据key的大小进行排序, 存储时是根据key的ha ...
- 【BIEE】BIEE 11g BI Publisher报表开发实例
环境准备 JDK下载地址:直接去百度软件中心下载即可 BIPublisher下载地址:http://pan.baidu.com/s/1bpk03Jh 本例子中以win7 32位操作系统为例 1.安装已 ...
- hdu 神、上帝以及老天爷 java
问题: 递推.可是a[i]=(a[i-1]+a[i-2])+(i-1)公式没有推出来. 在递推时,for循环约束值用的输入的m导致数组没有储存数. 在算阶乘时for循环中将i和j用混了,导致没有数输出 ...
- C#动态生成XML
通过C#动态生成图书信息XML文件(Books.xml),文件如下: <?xml version="1.0" encoding="iso-8859-1"? ...
- 后期给项目加入Git版本控制
一.为项目加上Git 1.进入对应文件夹 2.git init(初始化一个空的代码仓库) 3.git add .(将当前目录和子目录的文件标记为要添加到代码仓库) 4.git commit -m &q ...
- c#关于路径的总结(转) 虚拟路径波浪号~和斜杠/的区别
c#关于路径的总结(转) 来源:http://www.cnblogs.com/yugongmengjiutian/articles/5521165.html 前一段时间写代码时经常遇到获取路径问题 ...
- xgboost 特征选择,筛选特征的正要性
import pandas as pd import xgboost as xgb import operator from matplotlib import pylab as plt def ce ...