drop all database objects
/*
Use this sql to drop all objects in a database.
*/
-- Drop all SP
declare @dropSp varchar(max)=''
select @dropSp=@dropSp+'DROP PROCEDURE '+QUOTENAME(SCHEMA_NAME(obj.schema_id))+'.'+ QUOTENAME(RTRIM(s.name)) +';'+CHAR(13)
FROM sysobjects s
left join sys.objects obj
on s.id = obj.object_id and s.name=obj.name
WHERE s.[type] = 'P' AND category = 0 ORDER BY s.[name]
--EXEC (@SQL)
Print @dropSp
go
/* Drop all views */
declare @dropViews varchar(max) =''
select @dropViews=@dropViews+'DROP VIEW '+QUOTENAME(SCHEMA_NAME(obj.schema_id))+'.'+ QUOTENAME(RTRIM(s.name)) +';'+CHAR(13)
FROM sysobjects s
left join sys.objects obj
on s.id = obj.object_id and s.name=obj.name
WHERE s.[type] = 'V' AND category = 0 ORDER BY s.[name]
--EXEC (@dropViews)
Print @dropViews
go
/* Drop all functions */
declare @dropFN varchar(max) =''
select @dropFN=@dropFN+'DROP FUNCTION '+QUOTENAME(SCHEMA_NAME(obj.schema_id))+'.'+ QUOTENAME(RTRIM(s.name)) +';'+CHAR(13)
FROM sysobjects s
left join sys.objects obj
on s.id = obj.object_id and s.name=obj.name
WHERE s.[type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY s.[name]
--EXEC (@dropFN)
Print @dropFN
go
/* Drop all Foreign Key constraints */
DECLARE @SQL VARCHAR(MAX)=''
SELECT @SQL = @SQL + 'ALTER TABLE ' + QUOTENAME(DB_NAME())+'.'+ QUOTENAME(C.TABLE_SCHEMA) + '.' + QUOTENAME(C.TABLE_NAME) + ' DROP CONSTRAINT [' + RTRIM(C.CONSTRAINT_NAME) +'];' + CHAR(13)
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS C
WHERE C.CONSTRAINT_TYPE = 'FOREIGN KEY'
--EXEC (@SQL)
PRINT @SQL
GO
--Drop all primary key
DECLARE @SQL VARCHAR(MAX)=''
SELECT @SQL = @SQL + 'ALTER TABLE ' + QUOTENAME(DB_NAME())+'.'+ QUOTENAME(C.TABLE_SCHEMA) + '.' + QUOTENAME(C.TABLE_NAME) + ' DROP CONSTRAINT [' + RTRIM(C.CONSTRAINT_NAME) +'];' + CHAR(13)
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS C
WHERE C.CONSTRAINT_TYPE = 'PRIMARY KEY'
--EXEC (@SQL)
PRINT @SQL
GO
/* Drop all tables */
DECLARE @SQL VARCHAR(MAX)=''
select @SQL = @SQL+'drop TABLE '+QUOTENAME(DB_NAME())+'.'+QUOTENAME(SCHEMA_NAME(obj.schema_id))+'.'+ QUOTENAME(RTRIM(s.name)) +';'+CHAR(13)
FROM sysobjects s
left join sys.objects obj
on s.id = obj.object_id and s.name=obj.name
WHERE s.[type] = 'u' AND category = 0 ORDER BY s.[name]
--EXEC (@dropViews)
Print @SQL
go
drop all database objects的更多相关文章
- [Hive - LanguageManual] Create/Drop/Alter Database Create/Drop/Truncate Table
Hive Data Definition Language Hive Data Definition Language Overview Create/Drop/Alter Database Crea ...
- Cannot drop the database ‘XXX’ because it is being used for replication.
删除订阅数据库的时候出现下面的错误: Cannot drop the database ‘XXX’ because it is being used for replication. 数据库的状态为 ...
- Arcgis sde 10.1您不能创建在安装后的空间库,提示User has privileges required to create database objects.
Geodatabase在10.1版本号也有较大的改进和更新,在用户体验和性能上都有变化,在实际的工作中可能会碰到各种奇怪的问题(事实上都是有原因的,须要我们对其工作机制有所了解才干避免其发生):近期须 ...
- Drop a database in MongoDB
http://www.linuxask.com/questions/drop-a-database-in-mongodb Drop a database in MongoDB Answer: Assu ...
- Easy way to change collation of all database objects in SQL Server
This info is from: http://www.codeproject.com/Articles/302405/The-Easy-way-of-changing-Collation-of- ...
- T-SQL Recipes之Customized Database Objects
The Problem 创建灵活自定义对象决非是一个简单的任务.比如HR想看每种工作职称在所有年限里面的入职累计情况 The Solution 我们一步一步来拆解吧: 获取入职年限的集合,如1999, ...
- git 报错 error: insufficient permission for adding an object to repository database ./objects
参照:http://stackoverflow.com/questions/1918524/error-pushing-to-github-insufficient-permission-for-ad ...
- MySQL:Fabric 安装
MySQL Fabric安装 MySQL Fabric是Oracle提供的用于辅助进行ha\sharding的工具,它的基本架构: 从上面看出,借助于Fabric, 可以搭建 HA 集群.Sharin ...
- [Nhibernate]SchemaExport工具的使用(一)——通过映射文件修改数据表
目录 写在前面 文档与系列文章 SchemaExport工具 SchemaUpdate工具 一个例子 总结 写在前面 上篇文章介绍了使用代码生成器的nhibernate模版来生成持久化类,映射文件等内 ...
随机推荐
- Volley Post网络请求
/*post请求*/public void dostringVolleypost(){ /*第一步,创建请求队列*/ queue = Volley.newRequestQueue(this); /*第 ...
- IMEI
IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台 ...
- Kotlin 最佳实践
为什么写此文 Kotlin很烦,Gralde很烦,还都是升级狂,加一块更烦.几个月不接触Kotlin,再次上手时便一片迷茫.所以记录此文,以便再次上手时查阅. 使用Gradle创建Kotlin项目 m ...
- U盘上安装Ubuntu系统 便捷式系统 - 赖大大
简单介绍: U盘可以作为电脑的磁盘使用,在U盘上安装Ubuntu系统,只要有电脑,就可以轻松打开自己的系统, 方便又快捷,非常适合出差工作,学习使用. 另外,插入U盘后,需要我们就入电脑的Blos模式 ...
- MySQL 5.6 GTID Replication
一. MySQL 5.6引入了GTID的概念,那么GTID是何方神圣?其实也不复杂,就是一个全局事务标示符.使用GTID时,每次事务提交都会在binlog里生成1个唯一的标示符,它由UUID和事务ID ...
- 内核开发知识第一讲.内核中的数据类型.重要数据结构.常用内核API函数.
一丶内核中的数据类型 在内核中.程序的编写不能简单的用基本数据类型了. 因为操作系统不同.很有可能造成数据类型的长度不一.而产生重大问题.所以在内核中. 数据类型都一定重定义了. 数据类型 重定义数据 ...
- EXTJS4 Grid Filter 插件的使用 与后台数据解析------Extjs 查询筛选功能的实现
先汗一个,一个小功能又踢腾了一天.本来这个带Demo的,但是上面介绍的不是很详细.用的时候问题不大,主要问题在文件导入方面.以为这个插件的使用和其他的不一样. 1.首先是需要引入文件的位置:如图 需要 ...
- babel-polyfill的引用和使用
前两天一个首页项目,想用vue玩耍一下,就用vue-cli搭建了一套vue的开发框架 完成开发.联调和上线后,问题来了 chrome.ff浏览器下都能正常显示的页面,在百度浏览器下愣就显示不出来了 我 ...
- [android] 手机卫士欢迎页检测更新
客户端:去服务器获取最新的版本信息 服务器端: 版本信息,最新的版本2.0 最新版本的下载地址:http://xxxxxxxx/mobilesafe2.0.apk 版本的描述信息 客户端如果不升级新版 ...
- Java学习笔记之——常用快捷键(eclipse)
* Ctrl+C 复制 * Ctrl+V 粘贴 * Ctrl+A 全选 * Ctrl+S 保存 * Ctrl+Z 撤销 * Ctrl+Y 还原 * Ctrl+X 剪切 * Ctrl+F 查找 * ...