openGauss SQL语法 — ABORT

ABORT

功能描述

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

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

注意事项

在事务外部执行ABORT语句不会影响事务的执行,但是会抛出一个NOTICE信息。

语法格式

ABORT [ WORK | TRANSACTION ] ;

参数说明

WORK | TRANSACTION

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

示例

--创建表customer_demographics_t1。
openGauss=# 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)
;

--插入记录。
openGauss=# INSERT INTO customer_demographics_t1 VALUES(1920801,'M', 'U', 'DOCTOR DEGREE', 200, 'GOOD', 1, 0,0);

--开启事务。
openGauss=# START TRANSACTION;

--更新字段值。
openGauss=# UPDATE customer_demographics_t1 SET cd_education_status= 'Unknown';

--终止事务,上面所执行的更新会被撤销掉。
openGauss=# ABORT; 

--查询数据。
openGauss=# 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 |                    0
(1 row)

--删除表。
openGauss=# DROP TABLE customer_demographics_t1;

相关链接

SET TRANSACTIONCOMMIT | ENDROLLBACK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值