
Answer-first summary for fast verification
Answer: GRANT ROLE MYROLE TO USER USER1; CREATE MATERIALIZED VIEW ON SCHEMA MYDB.MYSCHEMA TO ROLE MYROLE;, GRANT ROLE MYROLE TO USER USER1; CREATE MATERIALIZED VIEW ON SCHEMA MYDB.MYSCHEMA TO MYROLE;
The question asks which statements will provide a user access to create a materialized view in schema MYDB.MYSCHEMA. In Snowflake, privileges are granted to roles, not directly to users. The correct syntax for granting the CREATE MATERIALIZED VIEW privilege is 'GRANT CREATE MATERIALIZED VIEW ON SCHEMA <schema_name> TO [ROLE] <role_name>', where the ROLE keyword is optional. Option A uses the explicit 'TO ROLE MYROLE' syntax, which is correct. Option D uses 'TO MYROLE' without the ROLE keyword, which is also valid per Snowflake documentation. Options B and C attempt to grant the privilege directly to a user ('TO USER USER1' or 'TO USER1'), which is invalid syntax for schema privileges in Snowflake. The community discussion confirms that both A and D are correct, with multiple comments noting that the ROLE keyword is optional in the GRANT statement.
Author: LeetQuiz Editorial Team
Ultimate access to all questions.
GRANT CREATE MATERIALIZED VIEW ON SCHEMA MYDB.MYSCHEMA TO ROLE <role_name>;
GRANT CREATE MATERIALIZED VIEW ON SCHEMA MYDB.MYSCHEMA TO ROLE <role_name>;
A
GRANT ROLE MYROLE TO USER USER1; CREATE MATERIALIZED VIEW ON SCHEMA MYDB.MYSCHEMA TO ROLE MYROLE;
B
GRANT ROLE MYROLE TO USER USER1; CREATE MATERIALIZED VIEW ON SCHEMA MYDB.MYSCHEMA TO USER USER1;
C
GRANT ROLE MYROLE TO USER USER1; CREATE MATERIALIZED VIEW ON SCHEMA MYDB.MYSCHEMA TO USER1;
D
GRANT ROLE MYROLE TO USER USER1; CREATE MATERIALIZED VIEW ON SCHEMA MYDB.MYSCHEMA TO MYROLE;