Linguagem de Controle
de Dados (DCL)
A DCL contém elementos que serão úteis num sistema
multiusuário, onde a privacidade das informações é importante, bem como a
segurança das tabelas e o estabelecimento de fronteiras entre as transações. Os
comandos GRANT e REVOKE são alguns dos comandos
utilizados para o controle de dados.
GRANT = utilizado para atribuir permissão ao user, para realizar uma operação;
O comando GRANT concede privilégios específicos para um objeto (tabela, visão, seqüência, banco de dados, função, linguagem procedural, esquema ou espaço de tabelas) para um ou mais usuários ou grupos de usuários. Estes privilégios são adicionados aos já concedidos, se existirem.
Se for especificado WITH GRANT OPTION quem receber o privilégio poderá, por sua vez, conceder o privilégio a terceiros. Sem a opção de concessão, quem recebe não pode conceder o privilégio. Atualmente as opções de concessão somente podem ser concedidas a usuários individuais, e não a grupos ou PUBLIC.
GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] }
ON [ TABLE ] nome_do_objeto [, ...]
TO { nome_do_usuário | GROUP nome_do_grupo | PUBLIC } [, ...]