Oracle試験道場

1Z0-071 · Silver SQL

ユーザー・アクセスの制御

★★★☆☆複数選択
Q20of 20

以下のSQL文でエラーにならないものはどれですか。(複数選択)Silver SQL20

以下のSQL文でエラーにならないものはどれですか。(複数選択)

※ SQL文内のオブジェクトとユーザはすべて存在すると仮定します。

Choices選択肢

  • AGRANT SELECT ON user1.sequence1 TO user2正解
  • BGRANT NEXTVAL ON user1.sequence1 TO user2
  • CGRANT SELECT FOR UPDATE ON user1.table1 TO user2
  • DGRANT SELECT ON user1.table1 TO user2正解
Answer

正解は、A,Dです

Explanation解説

GRANT文に指定できるのは 正式なオブジェクト権限名 のみです。NEXTVALSELECT FOR UPDATE は SQL の操作名であってオブジェクト権限名ではありません。

各選択肢の検討:

  • A(正解):シーケンスへの SELECT 権限。これは CURRVAL と NEXTVAL の使用 を含む正式な権限名。
  • B(誤)NEXTVAL というオブジェクト権限は 存在しない。シーケンスへの権限は SELECT で付与する。
  • C(誤)SELECT FOR UPDATE というオブジェクト権限は 存在しない。表への SELECT 権限が SELECT文と SELECT FOR UPDATE 文の両方の使用を含む。
  • D(正解):表への SELECT 権限。最も基本的なオブジェクト権限。

シーケンスと表のオブジェクト権限:

オブジェクト権限許可される操作
シーケンスSELECTCURRVAL の参照、NEXTVAL の取得
シーケンスALTERシーケンスの定義変更
SELECTSELECT文、SELECT FOR UPDATE文
INSERTINSERT文
UPDATEUPDATE文
DELETEDELETE文
ALTER表定義の変更
REFERENCES外部キーで参照する権限

権限名は SQL の動詞と必ずしも一致しないため、覚え方には注意が必要です。