2016-09-13 5 views
-18

私はこのSQL文に答える必要があります。SAVEPOINTとROLLBACKを併用すると、これの出力はどのようになりますか?

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; 

回答:

  1. それは、無効なロールバックオプション

  2. オメガ

  3. アルファ、ベータ、ガンマ、テラ

  4. としてエラーになりますそれはようにエラーを与える:複数のセーブポイント

+2

を与えるだろう、このサイトは私たちに –

+0

にインタビューされていないため、これはquestion..iは疑い私が投稿したインタビューされていません...それは...... –

+1

どのように多くの時間「を選択しますthatsの正解 "は質問に書かれています –

答えて

0

SAVEPOINT名そこにはできません - 現在のトランザクション内にセーブポイントをマークし、トランザクション内の複数のセーブポイントが存在することができます。それはすべての変更およびまたはあなたがロールバックされているためにセーブポイント後に作成セーブポイントを破棄しますので、セーブポイント名 -rollbackをセーブポイントまで

ROLLBACKは、指定されたセーブポイントまで現行のトランザクションをロールバックします。

あなたの問題では、4、テラの挿入後に作成されたポイントにロールバックされます。したがって、値5、オメガは破棄されます。だから、選択クエリが

customername 
------------- 
    alpha 
    beta 
    gamma 
    tera 
関連する問題