REVOKE <privilégio> … FROM SHARE¶
Revoga os privilégios de acesso a bancos de dados e outros objetos de banco de dados compatíveis (esquemas, tabelas e exibições) de um compartilhamento. A revogação de privilégios nesses objetos retira efetivamente os objetos do compartilhamento, impossibilitando o acesso aos objetos concedidos pela função de banco de dados em todas as contas de consumidores que criaram um banco de dados a partir do compartilhamento.
Para obter mais detalhes, consulte Introdução ao Secure Data Sharing e Como trabalhar com compartilhamentos.
- Consulte também:
Sintaxe¶
REVOKE objectPrivilege ON
{ DATABASE <name>
| SCHEMA <name>
| { TABLE <name> | ALL TABLES IN SCHEMA <schema_name> }
| { ICEBERG TABLE <name> | ALL ICEBERG TABLES IN SCHEMA <schema_name> }
| { VIEW <name> | ALL VIEWS IN SCHEMA <schema_name> } }
FROM SHARE <share_name>
Onde:
objectPrivilege ::=
-- For DATABASE
REFERENCE_USAGE [ , ... ]
-- For DATABASE, FUNCTION, or SCHEMA
USAGE [ , ... ]
-- For TABLE
EVOLVE SCHEMA [ , ... ]
-- For ICEBERG TABLE, TABLE, or VIEW
SELECT [ , ... ]
-- For TAG
READ
Parâmetros¶
name
Especifica o identificador do objeto (banco de dados, esquema, tabela ou exibição segura) para o qual o privilégio especificado é revogado.
schema_name
Especifica o identificador do esquema para o qual o privilégio especificado é revogado para todas as tabelas ou exibições.
share_name
Especifica o identificador para o compartilhamento ao qual o privilégio especificado é revogado.
Notas de uso¶
Cada privilégio de objeto deve ser revogado individualmente de uma função, exceto para tabelas, tabelas Iceberg e exibições. Usando uma cláusula
ALL
, você pode revogar o privilégio SELECT em todas as tabelas ou exibições no esquema especificado de uma função.Se você especificar um objeto
TABLE
que seja uma tabela Iceberg, o comando revogará o privilégio dessa tabela Iceberg.
Exemplos¶
REVOKE SELECT ON VIEW mydb.shared_schema.view1 FROM SHARE share1; REVOKE SELECT ON VIEW mydb.shared_schema.view3 FROM SHARE share1; REVOKE USAGE ON SCHEMA mydb.shared_schema FROM SHARE share1; REVOKE SELECT ON ALL TABLES IN SCHEMA mydb.public FROM SHARE share1; REVOKE SELECT ON ALL ICEBERG TABLES IN SCHEMA mydb.public FROM SHARE share1; REVOKE SELECT ON ALL DYNAMIC TABLES IN SCHEMA mydb.public FROM SHARE share1; REVOKE SELECT ON ICEBERG TABLE mydb.shared_schema.iceberg_table_1 FROM SHARE share1; REVOKE SELECT ON DYNAMIC TABLE mydb TO SHARE share1; REVOKE USAGE ON SCHEMA mydb.public FROM SHARE share1; REVOKE USAGE ON DATABASE mydb FROM SHARE share1;Copy
Este exemplo permite uma exibição segura compartilhada para referenciar objetos de um banco de dados diferente:
REVOKE REFERENCE_USAGE ON DATABASE database2 FROM SHARE share1;Copy