rollbackExamine the structure of the EMPLOYEES table:EMPLOYE

lylpaul2022-10-04 11:39:541条回答

rollback
Examine the structure of the EMPLOYEES table:
EMPLOYEE_ID NUMBER Primary Key
FIRST_NAME VARCHAR2(25)
LAST_NAME VARCHAR2(25)
HIRE_DATE DATE
You issue these statements:
CREATE table new_emp ( employee_id NUMBER,name VARCHAR2(30));
INSERT INTO new_emp SELECT employee_id ,last_name from employees;
Savepoint s1;
UPDATE new_emp set name = UPPER(name);
Savepoint s2;
Delete from new_emp;
Rollback to s2;
Delete from new_emp where employee_id =180;
UPDATE new_emp set name = 'James';
Rollback to s2;
UPDATE new_emp set name = 'James' WHERE employee_id =180;
Rollback;
At the end of this transaction,what is true?
A.You have no rows in the table.
B.You have an employee with the name of James.
C.You cannot roll back to the same savepoint more than once.
D.Your last update fails to update any rows because employee ID 180 was already deleted.
Answer:A
这个回滚到什么地方 不是回到s1

已提交,审核后显示!提交回复

共1条回复
孤神 共回答了19个问题 | 采纳率89.5%
Savepoint 就是设置一个 "保存点", 可以 Rollback to 到这个点上面
如果 commit 了, 那么所有的 Savepoint 就没用了.
如果 Rollback . 没有指定 Rollback 到哪一个点上.
意味着 全部 Rollback
所以,答案是 You have no rows in the table
1年前

相关推荐

do you want to continue with the rollback的中文意思
残梦凝香1年前5
心凝书香 共回答了11个问题 | 采纳率100%
你想继续反转/压价吗?
sqlserver中的rollback transaction要跟COMMIT TRAN成对存在吗?
sqlserver中的rollback transaction要跟COMMIT TRAN成对存在吗?
我这种结构写怎么报错了
EXECUTE 后的事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配.上一计数 = 2,当前计数 = 3.
BEGIN TRAN tran1
SAVE TRAN tranpoint --保存事务点
SET @TRANCOUNT=@@TRANCOUNT
PRINT '进入子事务后全局@@TRANCOUNT:'+CAST(@TRANCOUNT AS VARCHAR(50))
begin try
IF (@OrderType='1')
BEGIN --1
IF @OrderStatus=4
BEGIN--2
IF asas=1
BEGIN--3
END--3
ELSE
BEGIN--3
print '失败,回滚事务.'
rollback transaction tranpoint
SET @TRANCOUNT=(select @@TRANCOUNT)
PRINT '回滚子事务后全局@@TRANCOUNT:'+CAST(@TRANCOUNT AS VARCHAR(50))
return -1
END--3
END--2-
ELSE
BEGIN--2
print '失败,回滚事务.'
rollback transaction tranpoint
SET @TRANCOUNT=(select @@TRANCOUNT)
PRINT '回滚子事务后全局@@TRANCOUNT:'+CAST(@TRANCOUNT AS VARCHAR(50))
return -1
END--2
END--1
----------提交事务------------------
end try
begin catch
/**根据是否有错误,确定事务是提交还是回滚*/
print '失败,回滚事务.'
rollback transaction tranpoint
SET @TRANCOUNT=(select @@TRANCOUNT)
PRINT '回滚子事务后全局@@TRANCOUNT:'+CAST(@TRANCOUNT AS VARCHAR(50))
return -1
end catch
print '成功,提交事务,写入硬盘'
commit transaction tran1
SET @TRANCOUNT=(select @@TRANCOUNT)
PRINT '提交子事务后全局@@TRANCOUNT:'+CAST(@TRANCOUNT AS VARCHAR(50))
return 1
小蜗牛的家1年前1
brettonwoods 共回答了19个问题 | 采纳率78.9%
ollback 是回滚事务,只要没有commit提交,还可以恢复之前的数据.commit是提交事务,你不提交事务,你之前所有更改的数据别人在查看是看不到只能看到之前的数据,commit提交以后,别人才可看到你更新后的数据
rollback是什么意思
qwd5181年前2
奇哥仔 共回答了18个问题 | 采纳率100%
回滚
双语对照
词典结果:
rollback[英][ˈrəʊlbæk][美][ˈrolˌbæk]
n.反转,压价;
复数:rollbacks
存储过程 raise什么意思EXCEPTION when others then rollback; dbms_outp
存储过程 raise什么意思
EXCEPTION
when others then
rollback;
dbms_output.put_line('code:' || sqlcode);
dbms_output.put_line('errm:' || sqlerrm);
raise;
when others then和raise;
分别是什么意思
niccola1年前1
早知秋 共回答了26个问题 | 采纳率92.3%
异常分很多种类,如NO_FOUND.others处本应该写异常名称,如果不想把异常分得那麼细,可以笼统一点用others来捕获,即所有异常均用others来捕获.
when others then表示是其它异常.
raise表示抛出异常,让User可以看到.