1Z0-071 · Silver SQL
ユーザー・アクセスの制御
★★★☆☆複数選択
Q20of 20
以下のSQL文でエラーにならないものはどれですか。(複数選択) — Silver SQL 問20
以下の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文に指定できるのは 正式なオブジェクト権限名 のみです。NEXTVAL や SELECT FOR UPDATE は SQL の操作名であってオブジェクト権限名ではありません。
各選択肢の検討:
- A(正解):シーケンスへの
SELECT権限。これは CURRVAL と NEXTVAL の使用 を含む正式な権限名。 - B(誤):
NEXTVALというオブジェクト権限は 存在しない。シーケンスへの権限はSELECTで付与する。 - C(誤):
SELECT FOR UPDATEというオブジェクト権限は 存在しない。表へのSELECT権限が SELECT文と SELECT FOR UPDATE 文の両方の使用を含む。 - D(正解):表への
SELECT権限。最も基本的なオブジェクト権限。
シーケンスと表のオブジェクト権限:
| オブジェクト | 権限 | 許可される操作 |
|---|---|---|
| シーケンス | SELECT | CURRVAL の参照、NEXTVAL の取得 |
| シーケンス | ALTER | シーケンスの定義変更 |
| 表 | SELECT | SELECT文、SELECT FOR UPDATE文 |
| 表 | INSERT | INSERT文 |
| 表 | UPDATE | UPDATE文 |
| 表 | DELETE | DELETE文 |
| 表 | ALTER | 表定義の変更 |
| 表 | REFERENCES | 外部キーで参照する権限 |
権限名は SQL の動詞と必ずしも一致しないため、覚え方には注意が必要です。