Truncate Table 用法
2016-07-07 15:52
253 查看
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固定数据库角色成员且不可转让。
相关文章推荐
- MSSQL转MYSQL的一些记录
- MSSQL自身存储过程的一个注入漏洞
- oracle数据库删除数据Delete语句和Truncate语句的使用比较
- MSSQL 2005 LOG备份webshell的方法
- 关于MSSQL 2005的安装与补丁
- delete from 表名与truncate table 表名区别
- mssql server .ldf和.mdf的文件附加数据库的sql语句
- SQL MSSQL 常用代码大全
- MSSQL安全设置的具体步骤和方法小结
- MSsql每天自动备份数据库并每天自动清除log的脚本
- MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法
- MSSQL事务的存储过程
- TRUNCATE 快速删除表中的所有数据
- 完美解决MSSQL"以前的某个程序安装已在安装计算机上创建挂起的文件操作"
- drop,truncate与delete的区别
- SuperSocket 信息: (SpnRegister) : Error 1355。解决方法
- SQL Server误区30日谈 第1天 正在运行的事务在服务器故障转移后继续执行
- 浅析SQL Server中包含事务的存储过程
- Mysql中的事务是什么如何使用
- MSSQL 2005/2008 日志压缩清理方法小结