IPA過去問ドリル

令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問1

テクノロジ/データベース

SQL のシーケンスに関する説明のうち,適切なものはどれか。

出典:令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問1

正解:エ

解説

SQL のシーケンスは,一意な数値を自動的に生成するオブジェクトであり,NEXT VALUE FOR などによる値の取得はトランザクションの管理外で動作します。そのため,シーケンスの現在基底値の変更は,値を取得したトランザクションをロールバックしても取り消されません。これはシーケンスが,複数のトランザクションから同時にアクセスされても重複のない値を採番できるようにするための仕組みです。

選択肢ごとの解説

  • 誤り。シーケンスは最大値到達後に最小値へ戻る CYCLE オプションを指定できるため,周期的に繰り返すシーケンスを定義することができます。
  • 誤り。ALTER SEQUENCE の RESTART WITH などを用いれば,シーケンスの現在基底値を最小値と最大値の間の任意の整数値に変更することができます。
  • 誤り。シーケンスの増分(INCREMENT BY)には負の整数値を指定でき,値を減算方向に生成するシーケンスを定義できます。
  • 正しい。シーケンスの値の取得によるカウンタの変更はトランザクションの制御対象外であるため,トランザクションをロールバックしてもシーケンスの現在基底値は元に戻りません。
データベーススペシャリストの過去問を演習モードで解く