暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

AntDB 使用教程 / Oracle兼容 / SQL命令19

tocata 2024-08-19
20

SET TRANSACTION

名称

SET TRANSACTION —— 设置当前事务的特性。

概要

SET TRANSACTION transaction_mode

其中 transaction_mode 是下列几种选项之一

ISOLATION LEVEL { SERIALIZABLE | READ COMMITTED }

READ WRITE | READ ONLY

描述

SET TRANSACTION 设置当前事务的特性,而对后面的事务没有任何作用。允许使用的事务处理特性是事务隔离别级别和事务访问模式(读/写或者只读)。当其它事务处于并发运行状态时候,事务的隔离级别决定了事务能看到的数据:

READ COMMITTED

语句只能看到这个语句运行前提交的记录,这是缺省设置。

SERIALIZABLE

在事务中执行完成第一个查询或者数据修改语句之前,所有当前事务的语句只能看到已提交的记录。

在事务中第一个查询或者数据修改语句(包括 SELECT、INSERT、DELETE、UPDATE 或者 FETCH)运行后,事务隔离级别不能改变。

事务访问模式决定了事务是读/写模式,还是只读模式。读/写模式是缺省状况。当事务是只读模式的时候,不允许执行下面这些 SQL 命令:INSERT,UPDATE,如果他们写入的不是临时表那么也包括 DELETE 命令;所有的 CREATE、ALTER 和 DROP 命令。COMMENT、GRANT、REVOKE、TRUNCATE;并且如果执行的命令包括上面列出的命令,也包括 EXECUTE 命令。这是一个高级别关于只读的概念,不能防止到磁盘的所有写操作。

TRUNCATE

名称

TRUNCATE —— 清空一张表。

概要

TRUNCATE TABLE name

描述

TRUNCATE 命令快速从表中清除所有记录,和非限定的 DELETE 语句的作用相同,但是因为它不实际扫描表,所以执行速度更快。对清空大表内容这样的操作来说,这条命令是非常有用的。

参数

name

要截断表的名称(可以采用选模式限定的方式引用)。

注意

如果从其它表到要截断的表有外键引用,则不能使用 TRUNCATE 命令。在这种情况下,检查有效性的操作将会要求进行表扫描,在实际应用中不推荐这么做。

TRUNCATE 命令将不会触发任何用户在表上定义的 ON DELETE 触发器。

示例

截断表 bigtable。

TRUNCATE TABLE bigtable; 
复制



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论