删除所有约束、表、视图等SQL脚本
2018-03-07 17:41
435 查看
--删除所有约束、表、视图等SQL脚本 --############################################### --删除所有外键约束 --############################################### DECLARE @SQL VARCHAR(99) DECLARE CUR_CONSTRAINT CURSOR LOCAL FOR SELECT 'ALTER TABLE '+ CASE WHEN O.schema_id IS NOT NULL THEN (SELECT NAME+'.' FROM sys.schemas WHERE schema_id = O.schema_id) ELSE '' END +OBJECT_NAME(parent_object_id)+' DROP CONSTRAINT '+OBJECT_NAME(object_id) FROM sys.objects AS O JOIN sys.schemas AS S on O.schema_id=S.schema_id WHERE O.type IN('C','D','F') OPEN CUR_CONSTRAINT FETCH CUR_CONSTRAINT INTO @SQL WHILE @@FETCH_STATUS =0 BEGIN EXEC(@SQL) FETCH CUR_CONSTRAINT INTO @SQL END CLOSE CUR_CONSTRAINT DEALLOCATE CUR_CONSTRAINT --############################################### --删除所有视图(存储过程、函数等用同样的方法) --############################################### DECLARE @SQL VARCHAR(99) DECLARE CUR_VIEW CURSOR LOCAL FOR SELECT 'IF OBJECT_ID('''+ CASE WHEN O.schema_id IS NOT NULL THEN (SELECT NAME+'.' FROM sys.schemas WHERE schema_id = O.schema_id) ELSE '' END +OBJECT_NAME(object_id) +''') IS NOT NULL'+ +' DROP VIEW '+ CASE WHEN O.schema_id IS NOT NULL THEN (SELECT NAME+'.' FROM sys.schemas WHERE schema_id = O.schema_id) ELSE '' END +OBJECT_NAME(object_id) FROM sys.objects AS O JOIN sys.schemas AS S on O.schema_id=S.schema_id WHERE O.type IN('V') OPEN CUR_VIEW FETCH CUR_VIEW INTO @SQL WHILE @@FETCH_STATUS =0 BEGIN EXEC(@SQL) FETCH CUR_VIEW INTO @SQL END CLOSE CUR_VIEW DEALLOCATE CUR_VIEW --############################################### -- 删除所有表 --############################################### DECLARE @SQL VARCHAR(99) DECLARE CUR_TABLE CURSOR LOCAL FOR SELECT 'DROP TABLE '+ CASE WHEN O.schema_id IS NOT NULL THEN (SELECT NAME+'.' FROM sys.schemas WHERE schema_id = O.schema_id) ELSE '' END +O.name FROM sys.objects AS O JOIN sys.schemas AS S on O.schema_id=S.schema_id WHERE O.type='U' OPEN CUR_TABLE FETCH CUR_TABLE INTO @SQL WHILE @@FETCH_STATUS =0 BEGIN EXEC(@SQL) FETCH CUR_TABLE INTO @SQL END CLOSE CUR_TABLE DEALLOCATE CUR_TABLE --############################################### 再提供一下SQL Server里的OBJECT_ID函数object_type参数类型 --############################################### OBJECT_ID(object_name,object_type) 对象类型: AF =聚合函数(CLR) C = CHECK约束 D = DEFAULT(约束或独立) F = FOREIGN KEY约束 FN = SQL标量函数 FS =大会(CLR)的标量函数 FT =程序集(CLR)表值函数 IF = SQL内联表值函数 IT =内部表 P = SQL存储过程 电脑大会(CLR)存储过程 PG =计划指南 PK = PRIMARY KEY约束 R =规则(旧式,单机) RF =复制过滤过程 S =系统基表 SN =同义词 SQ =服务队列 TA =组件(CLR)DML触发器 TF = SQL表值函数 TR = SQL DML触发器 TT =表类型 U =表(用户定义) UQ = UNIQUE约束 V =视图 X =扩展存储过程
相关文章推荐
- 删除数据库中的所有视图的sql脚本文件生成
- 刷新SQL Server所有视图、函数、存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图、函数、存储过程有效性。 [SQL]代码 --视图、存储过程、函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR SCROLL DYNAMIC FO
- sqlserver 删除所有表和视图对象sql
- 删除了表的所有约束、视图以及表
- 删除所有约束、表、视图
- 获取sql所有存储过程脚本,获取sql表名,视图名,存储过程名,列名等
- 常用SQL:看全部表的空间大小|tempdb使用情况|清空日志|查看日志|查看数据库表|禁用所有约束|系统表|系统视图
- SQL脚本获取指定SQLServer数据库所有表及视图的字段列表及类型、长度
- sql server 中删除默认约束的通用sql脚本(轉)
- sql server 中删除默认约束的通用sql脚本
- SQL 删除所有约束
- 用SQL命令删除所有的表、视图、序列、存储过程
- 获取sql所有存储过程脚本,获取sql表名,视图名,存储过程名,列名等
- oracle导出创建用户下各个对象数据结构的sql语句的脚本,包括表、视图、索引、约束等等
- SQL存储过程之删除指定表中指定字段所有约束
- mysql创建表,同时加上约束,SQL查看所有表和查看某个表结构;sql删除表
- 删除数据库所有表、视图、存储过程sql
- 使用SQL脚本删除冗余的视图和表
- 费了好大劲写了个删除并重建约束的SQL脚本,留个纪念!
- 获取sql所有存储过程脚本,获取sql表名,视图名,存储过程名等