ITPub博客

首页 > 数据库 > > SQL语法-ABORT

SQL语法-ABORT

作者:GaussDB_数据库 时间:2020-01-16 09:24:04 0 删除 编辑

功能描述

回滚当前事务并且撤销所有当前事务中所做的更改。

作用等同于ROLLBACK,早期SQL有用ABORT,现在推荐使用ROLLBACK。

注意事项

在事务外部执行ABORT语句不会影响事务的执行,但是会产生一个警告信息。

语法格式

ABORT [ WORK | TRANSACTION ] ;
参数说明

WORK | TRANSACTION

可选关键字,除了增加可读性没有其他任何作用。

示例

--创建表customer_demographics_t1。
CREATE TABLE customer_demographics_t1
(
CD_DEMO_SK INTEGER NOT NULL,
CD_GENDER CHAR(1) ,
CD_MARITAL_STATUS CHAR(1) ,
CD_EDUCATION_STATUS CHAR(20) ,
CD_PURCHASE_ESTIMATE INTEGER ,
CD_CREDIT_RATING CHAR(10) ,
CD_DEP_COUNT INTEGER ,
CD_DEP_EMPLOYED_COUNT INTEGER ,
CD_DEP_COLLEGE_COUNT INTEGER
)
WITH (ORIENTATION = COLUMN,COMPRESSION=MIDDLE)
DISTRIBUTE BY HASH (CD_DEMO_SK);
--插入记录。
INSERT INTO customer_demographics_t1 VALUES(1920801,'M', 'U', 'DOCTOR DEGREE', 200, 'GOOD', 1, ,);
--开启事务。
START TRANSACTION;
--更新字段值。
UPDATE customer_demographics_t1 SET cd_education_status= 'Unknown';
--终止事务,上面所执行的更新会被撤销掉。
ABORT;
--查询数据。
SELECT * FROM customer_demographics_t1 WHERE cd_demo_sk = 1920801;
cd_demo_sk | cd_gender | cd_marital_status | cd_education_status | cd_purchase_estimate | cd_credit_rating | cd_dep_count | cd_dep_employed_count | cd_dep_college_count
------------+-----------+-------------------+----------------------+----------------------+------------------+--------------+-----------------------+----------------------
1920801 | M | U | DOCTOR DEGREE | 200 | GOOD | 1 | 0 |
(1 row)
--删除表。
DROP TABLE customer_demographics_t1;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3168582/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 类型转换-概述
请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19387