MSSQL 删除数据库表数据
--删除数据库表数据 慎用
create PROCEDURE sp_DeleteAllData
AS
declare @tblName nvarchar(50)
declare @sNOCHECKCONSTRAINT nvarchar(500)
declare @sDISABLETRIGGER nvarchar(500)
declare @sDeleteTable nvarchar(500)
declare @sCHECKCONSTRAINT nvarchar(500)
declare @sENABLETRIGGER nvarchar(500) begin try
begin tran
-- 失效索引,触发器
declare tb cursor for select name from sys.sysobjects where xtype='U' and category=0
open tb
fetch next from tb into @tblName
while @@fetch_status=0
begin
set @sNOCHECKCONSTRAINT ='ALTER TABLE ' + @tblName+ ' nocheck CONSTRAINT ALL'
set @sDISABLETRIGGER ='ALTER TABLE ' + @tblName+ ' DISABLE TRIGGER ALL'
EXEC sp_MSForEachTable @sNOCHECKCONSTRAINT
EXEC sp_MSForEachTable @sDISABLETRIGGER
fetch next from tb into @tblName
end
close tb
deallocate tb
-- 删除数据
declare tb1 cursor for select name from sys.sysobjects where xtype='U' and category=0
open tb1
fetch next from tb1 into @tblName
while @@fetch_status=0
begin
set @sDeleteTable ='delete from ' + @tblName
EXEC sp_MSForEachTable @sDeleteTable
print '删除数据表'+@tblName +'完成'
fetch next from tb1 into @tblName
end
close tb1
deallocate tb1
--恢复索引,触发器
declare tb2 cursor for select name from sys.sysobjects where xtype='U' and category=0
open tb2
fetch next from tb2 into @tblName
while @@fetch_status=0
begin
set @sCHECKCONSTRAINT ='ALTER TABLE ' + @tblName+ ' check CONSTRAINT ALL'
set @sENABLETRIGGER ='ALTER TABLE ' + @tblName+ ' ENABLE TRIGGER ALL'
EXEC sp_MSForEachTable @sCHECKCONSTRAINT
EXEC sp_MSForEachTable @sENABLETRIGGER
fetch next from tb2 into @tblName
end
close tb2
deallocate tb2
commit tran
end try
begin catch
rollback
end catch
GO
MSSQL 删除数据库表数据的更多相关文章
- mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启 ...
- jmeter 获取数据库表数据作为参数
jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...
- Django学习路5_更新和删除数据库表中元素
查找所有的元素 Student.objects.all() 查找单个元素 Student.objects.get(主键=值) 主键 pk = xxx 更新数据库数据后进行保存 stu.save() 删 ...
- 工作随笔——mysql子查询删除原表数据
最近在开发的时候遇到一个mysql的子查询删除原表数据的问题.在网上也看了很多方法,基本也是然并卵(不是写的太乱就是效率太慢). 公司DBA给了一个很好的解决方案,让人耳目一新. DELETE fb. ...
- MYSQL中delete删除多表数据
MYSQL中delete删除多表数据 DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释: 1. delete from t1 where 条件 2.delete t1 ...
- --oracle删除数据库表(无主键)中重复的记录
--oracle删除数据库表(无主键)中重复的记录 1, CREATE TABLE newtable as SELECT distinct * FROM T_SYSTEM_MENU_PRIV; 2, ...
- sqlserver快速删除整个表数据
--删除整个表数据 SET STATISTICS TIME ON; DECLARE @Timer DATETIME = GETDATE(); TRUNCATE TABLE LOG_DEBUG_ERRO ...
- Python--增量循环删除MySQL表数据
需求场景: 有一业务数据库,使用MySQL 5.5版本,每天会写入大量数据,需要不定期将多表中“指定时期前“的数据进行删除,在SQL SERVER中很容易实现,写几个WHILE循环就搞定,虽然MySQ ...
- 【shell】定时删除DB2表数据
使用db2的时候,有时候需要对表数据进行删除,防止数据太多,造成数据库空间满了 以下是一个定时删除表tmp,tm1中id为1的数据的脚本 #!/bin/sh ##------------------- ...
随机推荐
- inux 网络监控分析
一.sar -n:查看网卡流量 -n 参数,他有6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL .DEV显示网络接口信息,EDEV显示关于网络错误的统计数据, ...
- git 版本检出checkout的方法笔记
想检出指定版本,比如回退版本,将代码检出到老代码 git checkout 版本号 git reflog git checkout 标签名 1.git log 查看版本信息,复制版本号,执行git ...
- Django-如何写好一个celery定时任务
1.首先在项目同名目录下建一个celery.py from __future__ import absolute_import import os from celery import Celery ...
- jQuery实现类似Chrome控制台可拖拽改变宽度的样式
最近项目进程紧张,没法再愉快的网上冲浪了 因为项目需要实现一个页面上可拖拽改变div宽度的功能,类似效果如Chrome的右侧调试台样式: 大概思路为: 1.使用mousemove()方法,将鼠标的位置 ...
- 检测一个App是不是有UWP血统
Win + Shift + Enter
- PlayJava Day026
1.泛型:指代任意对象类型 public class CC<T> {} C<Integer> c = new C<Integer>(1) ; 2.限制泛型:用于继承 ...
- c#使用CefSharp开发winform——环境搭建
因为nuget在线下载有时候很慢,所以下载nuget包,进行本地安装 登陆nuget官网https://www.nuget.org/下载相关资源 选择对应版本进行下载,同时需要下载相关依赖的包 最 ...
- Kali Linux install "Veil-Evasion"
Xx_Step wget https://github.com/ChrisTruncer/Veil/archive/master.zip unzip master.zip cd Veil-Evasio ...
- 从0系统学Android--3.7 聊天界面编写
从0系统学Android--3.7 聊天界面编写 本系列文章目录:更多精品文章分类 本系列持续更新中.... 3.7 编写界面的最佳实践 前面学习了那么多 UI 开发的知识,下面来进行实践,做一个美观 ...
- Markdown语法教程
标题 # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 效果如下: 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 段落 换 ...