我要问有关Oracle事务的问题。
INSERT INTO HAR_DENEME (ID, NAME, SURNAME)
VALUES (140, 'tt', 'AA');
UPDATE HAR_DENEME
SET NAME = 'osman'
WHERE ID = 500;---> there is no data ID=500;
如何回滚第一个查询。 谢谢。
答案 0 :(得分:2)
您还可以添加一个保存点并回滚到该保存点
begin
savepoint SP_INSERT;
INSERT INTO HAR_DENEME (ID,NAME,SURNAME) VALUES(140,'tt','AA');
update HAR_DENEME set NAME='osman' where ID=500;---> there is no data ID=500;
if SQL%ROWCOUNT = 0 then
rollback to savepoint SP_INSERT;
end if;
end;
您可以检查更新的行数。如果没有任何更新,可以进行回滚
答案 1 :(得分:0)
如果您的开发工具未设置为自动提交(我希望不是),则可以执行简单的命令:
rollback;