我正在测试Oracle事务。
我有一张这样的table:
CREATE TABLE test (
id int PRIMARY KEY,
data varchar(255)
);
INSERT INTO test(id,data) VALUES(1,'apple');
INSERT INTO test(id,data) VALUES(2,'banana');
INSERT INTO test(id,data) VALUES(3,'cherry');
INSERT INTO test(id,data) VALUES(4,'date');
我想看看我是否可以用这个来做一个DELETE
的试验:
-- Trial DELETE
SET TRANSACTION READ WRITE;
DELETE FROM test;
SELECT * FROM test;
ROLLBACK;
-- Original Data
SELECT * FROM test;
好了,代码可以工作了,但是test
表现在是空的,它似乎没有从ROLLBACK
语句中受益。
这样做对吗?
我这里有一个小提琴:https://dbfiddle.uk/xxcVjl9A但我无法运行事务部分。
1条答案
按热度按时间sxissh061#
你需要在插入后提交。然后你可以测试你的删除和回滚。目前你的回滚是回滚插入和删除。