[转]删除MSSQL所有的约束及表格
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | --删除所有约束、表、视图等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 =扩展存储过程 |
转自:http://www.cnblogs.com/PongorXi/archive/2012/06/20/2556119.html
版权声明: 本文为博主 网无忌 原创文章,欢迎转载,但请务必标注原文链接。
分类:
数据库
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· MQ 如何保证数据一致性?