【发布时间】:2017-01-20 15:45:00
【问题描述】:
我要回答这条 SQL 语句。
INSERT INTO CUSTOMER (customerid,customername) VALUES(1,'alpha');
INSERT INTO CUSTOMER (customerid,customername) VALUES(2,'beta'); SAVEPOINT s1;
INSERT INTO CUSTOMER (customerid,customername) VALUES(3,'gamma'); SAVEPOINT s2;
INSERT INTO CUSTOMER (customerid,customername) VALUES(4,'tera'); SAVEPOINT s3;
INSERT INTO CUSTOMER (customerid,customername) VALUES(5,'omega');
ROLLBACK TO s3;
SELECT customername FROM CUSTOMER;
答案:
回滚选项无效会报错
欧米茄
alpha,beta,gamma,tera
会报错:不能有多个保存点
【问题讨论】:
-
答案是选项 3。alpha,beta,gamma,tera。
-
不清楚您指的是哪种 SQL 方言。我们也应该猜到吗?例如,在 T-SQL 中,它将是
SAVE TRANSACTION savepoint_name和ROLLBACK TRANSACTION savepoint_name。如果这个问题只针对mysql,那么请去掉sql标签。