sql - TRUNCATE 是 DML 语句吗?

标签 sql database postgresql sql-standards

我们可以分类/说 TRUNCATE 属于/属于 DML 语句吗?

检查 here用于 PostgreSQL TRUNCATE 兼容性。

注意:TRUNCATE 是 SQL 标准 ANSI SQL 2008 - F200 的一部分

最佳答案

PostgreSQL

我会说它是 PostgreSQL 中的 DML 语句:PostgreSQL 有一个 TRUNCATE trigger但是 PostgreSQL 没有 DDL 触发器。所以它不可能是 DDL 语句。

它在它操作的每个表上获取一个 ACCESS EXCLUSIVE 锁,它不是 MVCC 安全的,但它是事务安全的,你可以回滚。

The ability to fire triggers for TRUNCATE is a PostgreSQL extension of the SQL standard.

关于sql - TRUNCATE 是 DML 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3598243/

相关文章:

mysql - 在mysql中创建关系表

sql - 选择除以 2 后余数(模数)为 1 的行?

sql - sql 中的 Count() 计算

postgresql - 尽管有 "unmet dependencies",但如何在 Ubuntu 16.04 VM 上安装 postgresql 以设置 Ruby on Rails 项目

postgresql - 如何在 Kubernetes 中挂载 PostgreSQL 数据目录?

SQL:为每个填充的列选择多行

sql - postgresql如何查询用户组权限?

java - 我需要一个 SQL 查询来找到你可以用一组字母组成的所有单词,包括最多两个空白 block

c# - ExecuteReader() 后未更新输出参数

sql - 如何在 SQL Server 中创建和查询链接数据库服务器?