mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享

摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008



实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启约束

CREATE PROCEDURE proc_deleteDateSql
 /*
  生成清除数据库表数据的脚本方法分享
 */
AS
EXEC sp_MSForEachTable ‘ALTER TABLE ? NOCHECK CONSTRAINT ALL‘
EXEC sp_MSForEachTable ‘ALTER TABLE ? DISABLE TRIGGER ALL‘
EXEC sp_MSForEachTable ‘delete from ?‘
EXEC sp_MSForEachTable ‘ALTER TABLE ? CHECK CONSTRAINT ALL‘
EXEC sp_MSForEachTable ‘ALTER TABLE ? ENABLE TRIGGER ALL‘
EXEC sp_MSFOREACHTABLE ‘SELECT * FROM ?‘
GO

--生成脚本信息
exec proc_deleteDateSql 

go

drop proc  proc_deleteDateSql
go

此方法请谨慎使用,因为执行后,会导致所有数据丢失,并且不可恢复, 如出现外键约束,最好先删除外键信息,

如:批量删除MSSQL 中主外键约束

转自:http://www.maomao365.com/?p=7544

原文地址:https://www.cnblogs.com/lairui1232000/p/9912193.html

时间: 2024-10-16 18:15:17

mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享的相关文章

mssql sqlserver避免sql脚本中出现除零错误的方法分享

摘自:http://www.maomao365.com/?p=6612 摘要:下文介绍sql server中,sql脚本避免出现除零错误的方法分享 在各种业务系统开发中,通常会遇到除零的错误,下文分享了两种处理方法:方法1: case when end declare @a int ---分子 declare @b int ---分母 select case when @b=0 then NULL else @a/@b end as [a除以b] 方法2:nullifnullif(表达式A,表达

mssql sqlserver 使用sql脚本实现相邻两条数据相减的方法分享

摘要: 下文讲述使用sql脚本实现相邻两条数据相减的方法,如下所示: 实验环境:sql server 2008 R2 实现思路: 1.使用cte表达式,对当前表进行重新编号 2.使用左连接对 表达式 生成的临时表进行错位连接,并对生成的新纪录中两列进行相减 create table [maomao365] (sort varchar(30),qty int); go ----生成基础数据 insert into [maomao365](sort, qty)values ('maomaoA',10

mssql sqlserver 使用sql脚本输出交替不同的背景色的html信息的方法分享

转自:http://www.maomao365.com/?p=6679 摘要: 下文将分享使用sql脚本输出交替变换的不同背景颜色的sql脚本的方法分享,如下所示: 实验环境:sqlserver 2008 R2 例: 下文 首先采用 over() row_number 函数生成的行编号, 然后对每行进行颜色变化操作,生成不同的背景色,如下所示: create table test(keyId int,info varchar(30)) go insert into test(keyId,info

mssql sqlserver 对不同群组对象进行聚合计算的方法分享

摘要: 下文讲述通过一条sql语句,采用over关键字同时对不同类型进行分组的方法,如下所示: 实验环境:sql server 2008 R2 当有一张明细表,我们需同时按照不同的规则,计算平均.计数.求和等聚合计算时,此时我们可以使用over子句对数据进行操作.例: 我们需获取一个学生成绩的 总平均分 各科平均分 学生单科成绩同平均分的差异,此时我们可以多次使用over子句,得出我们想要的结果, select [课程名], [姓名], [成绩], AVG([成绩]) over () as [总

清空SQL Server数据库中所有表数据的方法

其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程. 也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先删除子表记录,再删除主表记录. 说道删除数据记录,

SQL从其他服务器数据库导入数据到本地数据库中

EXEC sp_dropserver 'ITSV2', 'droplogins' exec sp_addlinkedserver 'ITSV2' , '' , 'SQLOLEDB' , '168.9.123.123' exec sp_addlinkedsrvlogin 'ITSV2' , 'false' , null , 'sa' , 'sa' drop table test2; select top 12 * into test2 from ITSV2.InfoDB.dbo.city sele

sql查询其他服务器数据库表

exec sp_addlinkedserver 'abc', '', 'SQLOLEDB', '192.168.49.34' exec sp_addlinkedsrvlogin 'abc', 'false',null, 'CentermUA', '123' go --查询 select * from abc.ccflowreal2.dbo.V_ND58Details --插入 select * into temp from abc.ccflowreal2.dbo.V_ND58Details ex

(转)SQL server 2005查询数据库表的数量和表的数据量

本文转载自:http://hi.baidu.com/ajyajyajy/item/4e2a7f4dc83393d2c1a592c1 use DBNAMEgoselect * from sysobjects where xtype='U'; --这是查询所有表的信息select count(*) from sysobjects where xtype='U' --这是查询表的数量 ‍select a.name, b.rows from sysobjects a with(nolock) join

如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法

最近学习了下如何在MyEclipse中通过hibernate使用jtds驱动连接数据库,并向数据库添加数据的方法,虽然MyEclipse中自带了连接数据库的方法,我也尝试了下其他方法,如有不当之处请指教,具体如下: 需要的驱动包为:jtds-1.2.jar 首先创建Java项目,就叫testjtds,同时为工程添加hibernate支持 对testjtds鼠标右键,在最下面找到MyEclipse-->Add Hibernate Capabilities...之后 出现如图窗口 当然了,直接nex