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:

GRANT <privilégio> … TO SHARE

REVOKE <privilégios>

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>
Copy

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
Copy

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