DDLを使用した表とそのリレーションシップの管理複数選択41 / 50 問

読み取り専用モードの表に対して、許可されている操作はどれですか。

ALTER TABLE <表名> READ ONLY
ASELECT✓
BSELECT FOR UPDATE
CTRUNCATE TABLE
DALTER TABLE ADD✓
正解:A・D解説

ALTER TABLE <表名> READ ONLYで表を読み取り専用モードに変更すると、表データの変更操作は実行できなくなりますが、TRUNCATEを除く一部のDDLとSELECTは引き続き実行できます。
各選択肢の検討

  • A(正解):SELECTは読み取り操作なので許可されます。
  • B(誤):SELECT FOR UPDATEは行ロックを取得して更新する前提のSELECTなので、データ変更操作と同じ扱いになり許可されません。
  • C(誤):TRUNCATE TABLEはDDLですが、データを削除する操作なので読み取り専用モードでは禁止されます。
  • D(正解):ALTER TABLE ADD(列の追加など、表構造の変更)は許可されます。データ自体は変更しないためです。

読み取り専用モードでの操作可否まとめ

操作可否
SELECT○
SELECT FOR UPDATE×
INSERT / UPDATE / DELETE×
TRUNCATE TABLE×
ALTER TABLE ADD(列追加)○
ALTER TABLE DROP COLUMN○
DROP TABLE○

読み書きモードに戻す

ALTER TABLE <表名> READ WRITE;

メンテナンス時や移行時に、誤った更新を防ぐ目的で使われる機能です。

前後の問題