新聞中心
描述
該語句用于開啟事務(wù)。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、同德網(wǎng)絡(luò)推廣、微信小程序開發(fā)、同德網(wǎng)絡(luò)營銷、同德企業(yè)策劃、同德品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供同德建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
數(shù)據(jù)庫事務(wù)(Database Transaction)是指作為單個(gè)邏輯工作單元執(zhí)行的一系列操作。事務(wù)處理可以用來維護(hù)數(shù)據(jù)庫的完整性,保證成批的 SQL 操作全部執(zhí)行或全部不執(zhí)行。
顯示事務(wù)是用戶自定義或用戶指定的事務(wù)。通過BEGIN TRANSACTION,或BEGIN和BEGIN WORK(被作為 START TRANSACTION的別名受到支持)語句顯示開始,以COMMIT或ROLLBACK語句顯示結(jié)束。
格式
transaction_stmt:
START TRANSACTION [READ ONLY | READ WRITE];
| BEGIN [WORK];
| COMMIT [WORK];
| ROLLBACK [WORK];
| SET TRANSACTION {READ ONLY | READ WRITE};
參數(shù)解釋
|
參數(shù) |
描述 |
|---|---|
|
START TRANSACTION [READ ONLY | READ WRITE] |
開啟事務(wù)語句。一旦開啟事務(wù),則隨后的 SQL 數(shù)據(jù)操作語句(即
|
|
BEGIN |
|
|
COMMIT |
提交當(dāng)前事務(wù)。 |
|
ROLLBACK |
回滾當(dāng)前事務(wù)。 |
|
SET TRANSACTION {READ ONLY | READ WRITE} |
將當(dāng)前事務(wù)設(shè)置成 |
示例
假設(shè)現(xiàn)有表 a 如下所示。
|
id |
name |
num |
sell_date |
|---|---|---|---|
|
1 |
a |
100 |
2013-06-21 10:06:43 |
|
2 |
b |
200 |
2013-06-21 13:07:21 |
|
3 |
a |
50 |
2013-06-21 13:08:15 |
CREATE TABLE a (id INT,name VARCHAR(10),num INT,sell_date DATE);
INSERT INTO a VALUES (1, 'a',100,'2013-06-21 10:06:43');
INSERT INTO a VALUES (2, 'b',200,'2013-06-21 13:07:21');
INSERT INTO a VALUES (3, 'a',50,'2013-06-21 13:08:15');
-
依次執(zhí)行以下命令開始執(zhí)行事務(wù),將 id 為 3 的的 name 改為 c,并插入一行當(dāng)前賣出 a 的記錄。
-
事務(wù)提交后,執(zhí)行命令查看表 a 信息。
obclient> START TRANSACTION;
Query OK, 0 rows affected (0.00 sec)
obclient> UPDATE a SET name = 'c' WHERE id = 3;
Query OK, 1 rows affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
obclient> INSERT INTO a VALUES (4, 'a', 30, '2013-06-21 16:09:13');
Query OK, 1 rows affected (0.00 sec)
obclient> COMMIT;
Query OK, 0 rows affected (0.00 sec)
obclient>SELECT * FROM a;
結(jié)果如下:
|
id |
na |
num |
sell_date |
|---|---|---|---|
|
1 |
a |
100 |
2013-06-21 10:06:43 |
|
2 |
b |
200 |
2013-06-21 13:07:21 |
|
3 |
c |
50 |
2013-06-21 13:08:15 |
|
4 |
a |
30 |
2013-06-21 16:09:13 |
注意
在事務(wù)還沒有
COMMIT之前,您可以查看下本事務(wù)中的操作是否已經(jīng)生效,比如可以在
COMMIT前,加一句
SELECT * FROM a;。本事務(wù) Session 的訪問能讀到最新的結(jié)果,本事務(wù) Session 之外的訪問結(jié)果肯定是沒有生效,在事務(wù)還沒有
COMMIT前,你之前做的操作除當(dāng)前事務(wù)連接之外都是不可見的。如果您想回滾該事務(wù),直接用
ROOLBACK代替
COMMIT。
名稱欄目:創(chuàng)新互聯(lián)OceanBase教程:OceanBaseTRANSACTION
地址分享:http://www.dlmjj.cn/article/coshoeg.html


咨詢
建站咨詢
