SQLSERVER TRUNCATE 运用

摘要:
SQLSERVERRUNCATEDELETEEDROP使用TRUNCATETABLE删除表中的所有行,而不记录单个行的删除。注意TRUNCATETABLE在功能上与没有WHERE子句的DELETE语句相同:DELETE语句一次删除一行,TRUNCATETABLE删除表中的所有行。如果要删除表定义及其数据,则应使用不带WHERE子句的delete语句。

SQLSERVER TRUNCATE DELETE DROP运用

TRUNCATE TABLE
删除表中的所有行,而不记录单个行删除操作。

语法
TRUNCATE TABLE name

参数
name

是要截断的表的名称或要删除其全部行的表的名称。

注释
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

TRUNCATE TABLE 删除表中的所有行,但表结构及其列、约束、索引等保持不变。新行标识所用的计数值重置为该列的种子。如果想保留标识计数值,请改用 DELETE。如果要删除表定义及其数据,请使用 DROP TABLE 语句。

对于由 FOREIGN KEY 约束引用的表,不能使用 TRUNCATE TABLE,而应使用不带 WHERE 子句的 DELETE 语句。由于 TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。

TRUNCATE TABLE 不能用于参与了索引视图的表。

示例
下例删除 authors 表中的所有数据。

TRUNCATE TABLE authors

权限
TRUNCATE TABLE 权限默认授予表所有者、sysadmin 固定服务器角色成员、db_owner 和 db_ddladmin 固定数据库角色成员且不可转让。

免责声明:文章转载自《SQLSERVER TRUNCATE 运用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇3.2.2奶骑指南:到80之后如何选择和更新装备Swt/Jface tableViewer入门教程三(加入在表格上直接编辑数据)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL Server:创建索引视图

视图也称为虚拟表,这是因为由视图返回的结果集其一般格式与由列和行组成的表相似,并且,在 SQL 语句中引用视图的方式也与引用表的方式相同。标准视图的结果集不是永久地存储在数据库中。查询每次引用视图时,Microsoft® SQL Server™ 2000 会动态地将生成视图结果集所需的逻辑合并到从基表数据生成完整查询结果集所需的逻辑中。生成视图结果的过程称...

InnoDB和MyISAM是否支持hash索引

今天和同学探讨说MySQL哪些存储引擎支持hash索引,因为所看书籍MySQL版本和现有的MySQL版本有出入,故中间出了点歧义。所以就手动敲了一下代码,测试了一下MySQL8.0中的存储引擎是如何支持hash索引的。 我们都知道MySQL最常用的存储引擎为InnoDB和MyISAM。它们默认的存储引擎都是B-Tree(实质为B+Tree)。他们本身都是不...

APM系统SkyWalking介绍

  公司最近在构建服务化平台,需要上线APM系统,本篇文章简单的介绍SkyWalking APM APM全称Application Performance Management应用性能管理,目的是通过各种探针采集数据,收集关键指标,同时搭配数据呈现以实现对应用程序性能管理和故障管理的系统化解决方案 Zabbix、Premetheus、open-falco...

SAP ABAP RFC接口通用日志工具:abap fm logger

很早之前就想写个能记录函数模块日志的通用工具,最早尝试时,没有想清楚插入代码的体积过大问题的解决方案。在一些群友的提醒下,了解到可以用宏来处理这一问题。不过当时比较忙,没有动笔,后来也渐渐忘记。最近又想起这件事,花了2天完成了一个初步的实现。介绍给大家,希望能有参考价值。 本文链接:https://www.cnblogs.com/hhelibeb/p/13...

Prommetheus 插件监控 ES

转载自:https://blog.csdn.net/u010453363/article/details/76689435/ 用prometheus主要是监控elk中的elasticsearch和logstash prometheus的clicent收集数据,并提供http服务,由prometheus server主动pull数据。   1.1 elast...

mysql binlog抽取某个表的数据

1.先把binlog文件转化为sql sudo mysqlbinlog /var/mysql/var/mysql-bin.000057 --base64-output=decode-rows -v > /var/mydiag.sql 2.抽取某一个表的数据 grep -B0 -A27 -w 'DELETE FROM `kdb`.`t_diag_re...