≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > SQL Server

SQLserver删除某数据库中所有表实现思路

人气:678 时间:2020-04-29

这篇文章主要为大家详细介绍了SQLserver删除某数据库中所有表实现思路,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

方便删除数据库中所有的数据表,清空数据库,有些有约束,不能直接delete,需要先删除库中的约束,代码如下

代码如下:

 
--删除所有约束 
DECLARE c1 cursor for 
select'alter table ['+ object_name(parent_obj)+'] drop constraint ['+name+']; ' 
from sysobjects 
where xtype ='F' 
open c1 
declare @c1 varchar(8000) 
fetch nextfrom c1 into@c1 
while(@@fetch_status=0) 
begin 
exec(@c1) 
fetch nextfrom c1 into@c1 
end 
close c1 
deallocate c1 
--删除数据库所有表 
declare @tname varchar(8000) 
set@tname='' 
select@tname=@tname+Name+','from sysobjects where xtype='U' 
select@tname='drop table '+ left(@tname,len(@tname)-1) 
exec(@tname) 

然后清空数据库中的所有表:
如果需要删除存储过程等只需要将上面的做如下修改就行了的where xtype='U' 改成 where xtype='P',drop table 改成 drop Procedure

sysobjects的xtype代表含义:

在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。

列名 数据类型 描述
name sysname 对象名。
Id int 对象标识号。
xtype char(2) 对象类型。可以是下列对象类型中的一种:
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 = 扩展存储过程

uid smallint 所有者对象的用户 ID。
info smallint 保留。仅限内部使用。
status int 保留。仅限内部使用。
base_schema_
ver int 保留。仅限内部使用。
replinfo int 保留。供复制使用。
parent_obj int 父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdate datetime 对象的创建日期。
ftcatid smallint 为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver int 版本号,该版本号在每次表的架构更改时都增加。
stats_schema_
ver int 保留。仅限内部使用。
type char(2) 对象类型。可以是下列值之一:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
userstat smallint 保留。
sysstat smallint 内部状态信息。
indexdel smallint 保留。
refdate datetime 留作以后使用。
version int 留作以后使用。
deltrig int 保留。
instrig int 保留。
updtrig int 保留。
seltrig int 保留。
category int 用于发布、约束和标识。
cache smallint 保留。

 

本文来自:http://www.q1010.com/179/8577-0.html

注:关于SQLserver删除某数据库中所有表实现思路的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:SQL SERVER

您可能感兴趣的文章

  • 诊断SQLSERVER问题常用的日志概述及使用
  • SQLServer主键和唯一约束的区别
  • SQLSERVER聚集索引和主键(Primary Key)的误区认识
  • SQLSERVER简单创建DBLINK操作远程服务器数据库的方法
  • SqlServer存储过程实现及拼接sql的注意点
  • SQLSERVER对索引的利用及非SARG运算符认识
  • sqlserver 各种判断是否存在(表名、函数、存储过程等)
  • 将备份的SQLServer数据库转换为SQLite数据库操作方法
  • SQLServer导出sql文件/表架构和数据操作步骤
  • 自动化收集SQLSERVER诊断信息的工具选择及使用介绍
上一篇:Sql Server中一个表2个字段关联同一个表(代码解决)
下一篇:SQLSERVER对索引的利用及非SARG运算符认识
热门文章
  • SQL Server SQL获取第一条记录的方法
  • SQL Server出现System.OutOfMemoryException异常的解决方法
  • SQL Server的 update from 语句的简单示例
  • SQL Server 数据库备份方法菜鸟教程
  • SQL Server 多表关联时在where语句中慎用trim()方法
  • SQL Server数据类型及长度限制详细说明
  • mybaits非配置原因,导致SqlSession was not registered for synchronization异常解析
  • SQL Server 收缩后对数据库的使用有影响吗?
  • SQL Server 格式导致的Excel导入sql出现异常的解决方法
  • SQL Server 连接服务器出现错误 7391的解决方法
  • 最新文章
    • SQL Server存储过程基本语法的简单示例
    • sql查询时增加自动编号和分页的简单示例
    • sql轻松应付百万数据的高效数据分页存储过程的简单示例
    • sql获取一条数据中所有字段的名称和值的实现方法
    • sql分割函数的简单示例
    • SQL Server异常捕获的简单示例
    • SQL SERVER回滚恢复误操作数据的实现方法
    • SQL Server函数或存储过程中抛出异常的实现方法
    • SQL Server创建数据库的完整代码
    • SQL Server创建数据库的命令用法示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。