`
大象06
  • 浏览: 119655 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SQL Server批量删除数据库表

阅读更多

 今天在做批量导入大量表到数据库去,有250个,但是前期需要做些测试工作,所以会需要进行表的删除,但是呢,表太多了,不可能一个一个的删除。所以在网上找了些批量删除表的sql语句。当然这种删除需要表的名字有相同的前缀。网上的语句比较多,但是我试验成功的只有几个,其中的经验和大家分享下:

DECLARE @Table NVARCHAR(30)
DECLARE tmpCur CURSOR FOR 
SELECT name FROM sys.objects WHERE TYPE='U' AND name LIKE N'HSUPA%'
OPEN tmpCur 
FETCH NEXT FROM tmpCur INTO @Table

WHILE @@FETCH_STATUS = 0 
BEGIN
    DECLARE @sql VARCHAR(100)
    SELECT @sql = 'drop table ' + @Table
    EXEC(@sql)
    FETCH NEXT FROM tmpCur INTO @Table
END
CLOSE tmpCur 
DEALLOCATE tmpCur

表的名字中最好不要用空格,否则会报错。

既然是测试,就取类似test1.这类的名字会比较好。

这个也可以:

  /*--------------------------------

功能说明:  批量DropTable

使用说明:  使用时一定要小心,因为删选表的where条件是like所有必须保证where

后的like确定与你要删除表名相匹配

---------------------------------*/

--------参数定义-------------------

DECLARE @tableName AS Nvarchar(50) --查询表名条件(小心!,确保like条件是你要Drop的表.TableName尽量精确)

SET @tableName='test'  

--------------------------------------

--SELECT name FROM sys.tables   WHERE name LIKE '%'+@tableName+'%' --查询出要删除表的名称

IF @tableName='' SET @tableName='tableName'--初始化TableName为tableName,防止@tableName为空

DECLARE @tableNames AS Nvarchar(3000)

DECLARE @sql AS Nvarchar(3000)

SET @tableNames=

(SELECT ','+name FROM sys.tables   WHERE name LIKE '%'+@tableName+'%'  FOR XML PATH(''))

SET @tableNames= Stuff(@tableNames,1,1,'')

SET @sql='DROP TABLE '+@tableNames

EXEC(@sql)

 

分享到:
评论

相关推荐

    SQL Server 批量附加数据库工具

    1.支持SQL server 数据库文件批量附加 2.需要在装有SQL server 的电脑上运行 3.使用系统管理员来登录电脑,系统使用windows集成身份验证 4.选中目录,点自动搜素,可以搜索目录和子目录下所有mdf文件 5.对不附加的,...

    SQL SERVER批量附加和分离工具

    支持SQL SERVER批量进行附加数据库和分离数据库的操作

    Server 2000 批量附加数据库工具【2012修复版】

    Server 2000 批量附加数据库工具 【版本未知,2012年6月21日亲测有效】 工具操作简介: 分离数据库不能批量,只能选中后右键分离; 附加数据库,可以批量附加。请先定位到文件夹,点击【搜索数据】按钮,然后...

    SQL2000 2005 批量附加数据库工具

    SQL2000和SQL2005批量附加数据库工具是一款高效实用的软件,专为管理和维护Microsoft SQL Server 2000及2005数据库设计。它提供了一个便捷的方式来一次性附加多个数据库,极大地提高了数据库管理员的工作效率,特别...

    SQL SERVER数据库批量附加工具.rar

    SQL SERVER数据库批量附加工具是一款针对Microsoft SQL Server设计的实用工具,它极大地简化了数据库管理员在日常工作中频繁进行数据库附加操作的流程。在传统的SQL Server管理中,如果需要附加多个数据库,通常需要...

    sql批量附加数据库v3.2

    在SQL Server管理中,批量附加数据库是一项非常实用的功能,尤其对于拥有大量数据库的服务器管理员来说。"sql批量附加数据库v3.2" 提供了一种快速高效的方式来处理这个任务,无需逐一手动操作,大大提高了工作效率。...

    SQL SERVER数据库批量备份、恢复、附加工具

    在这个场景中,我们关注的是如何高效地对大量的SQL SERVER数据库执行批量备份、恢复和附加操作。以下是对这些核心概念的详细阐述。 首先,**批量备份**是数据库管理中的关键环节,尤其是在面对多个数据库时。SQL ...

    sqlserver 批量创建表

    在SQL Server中,批量创建表是一项常见的数据库管理任务,尤其在构建数据库结构或者进行数据迁移时。本场景中,我们关注的是如何利用SQL Server 2008来实现这一目标。这里有两个关键文件:`SQL批量插入数据.sql` 和 ...

    VBS批量分离数据库 SQLServer 2008

    vbs批量分离数据库 SQLServer 2008,数据库名称数组名称、服务器名称需要根据实际情况赋值 VBS文件直接执行

    SQL批量附加数据库工具V1.5

    SQL批量附加数据库 2014年7月2日最新更新 2014-7-2更新为1.5版本: 1、修复:当搜索路劲含有空格无法搜到MDF的Bug 2、改进:双击搜索结果文件除去后,显示剩余文件个数 3、新增:执行SQL语句界面的命令输入框内...

    SQL server批量还原SQL数据库,快速搭建测试环境的强力工具。

    自己写的存储过程,传参设置备份文件路径及数据库路径,可以快速的批量的还原数据库。无须修改文件名及设置权限。是快速搭建生产及测试环境的强力助力。

    sqlserver 批量执行sql文件

    sqlserver 批量执行指定文件夹下面的sql文件。 非常快捷方便,使用于不同类型数据库之间的数据迁移

    SQLServer 批量禁用、启用登录账号

    登录用于确定用户是否能够访问SQL Server实例,而用户(User)则用于定义登录后可以访问哪些数据库及其权限。 #### 二、禁用登录账号 禁用登录账号意味着阻止该登录账号连接到SQL Server实例。这通常用于安全考虑...

    批量附加SQL数据库.rar

    第一:运行中的数据库文件是不能复制的,你可以先停止sql服务然后复制,或者将数据库分离,再复制  第二:附加时 注意路径是否正确。你附加到另一台服务器上时注意路径是否存在。如果两台服务器数据库目录结构...

    sqlserver多数据库自启动定时备份工具批量执行脚本

    "sqlserver多数据库自启动定时备份工具批量执行脚本"是一种高效的方法,它允许管理员自动化备份多个数据库,特别是在系统启动时自动运行,以确保数据始终得到保护。这个解决方案尤其适用于那些包含大量关键数据和对...

    批量附加SQL数据库工具

    批量附加SQL数据库工具是一款专为数据库管理员设计的实用软件,它极大地简化了SQL Server中多个数据库的附加过程。通过自动化处理,该工具能够一次性处理多个数据库文件(.mdf和.ldf),节省了大量时间和精力。 1. ...

    SQLserver 数据库表结构对比工具

    《SQL Server数据库表结构对比工具详解》 在SQL Server数据库管理中,确保数据库表结构的一致性至关重要。尤其是在多环境、多版本之间进行同步时,表结构的差异可能导致应用程序出现问题或者数据丢失。为了应对这一...

    sqlserver2008数据库驱动jar包

    String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String username = "myUsername"; String password = "myPassword"; try { Connection conn = DriverManager.getConnection(url, ...

    SQL SERVER自动导出Word数据库文档

    5. **SSIS(SQL Server Integration Services)**:对于更复杂的自动化任务,如批量导出,可以使用SSIS,它是SQL Server的一个组件,专门用于数据集成、转换和迁移。SSIS可以创建包来执行Word文档的生成和填充,但...

    如何进行SQL Server批量修改权限2

    特别是在机器备份的数据库到 SQL Server,恢复后该数据库有一个 mooip 用户,该用户是数据库和一些表的所有者,但安全性里的登录中没有该用户。本文将介绍删除此类用户的方法,解决“因为选定的用户拥有对象,所以...

Global site tag (gtag.js) - Google Analytics