Privilégio de INSERT | Oracle

Privilégio de INSERT | Oracle

Será que quando se dá o privilégio de INSERT numa tabela a um role isso implicitamente atribui a esse role a possibilidade de "ler" (SELECT) linhas da tabela?

Para começar considere-se a tabela "Data" mostrada na Figura 1 (pertencente ao esquema IMDB) à qual se vai atribuir a autorização de inserção de linhas ao role sousa:

SQL> GRANT INSERT ON "Data" TO sousa;


Figura 1: Tabela Data.
Agora falta testar a hipótese. Para tal entramos como sousa, e:

SQL> SELECT * FROM "Data";

O resultado, como seria de esperar, é uma mensagem de erro:

                              ORA-01031: insufficient privileges
                              01031. 00000 -  "insufficient privileges"

Apesar de em termos organizacionais não fazer grande sentido que alguém que pode registar dados não os consiga ler, de facto os privilégios nos sistemas de bases de dados relacionais cumprem com o objectivo com que foram pensados. O que pode ser facilmente demonstrado digitando o seguinte comando:

SQL> INSERT INTO "Data" ("Chave da Data", "Descrição Completa da Data",
          "Descrição Abreviada da Data", "Século", "Data-SQL")
          VALUES ('5', '5 de Janeiro de 2017', '05/01/2017', 'XXI',
          TO_DATE('2017-01-05', 'YYYY-MM-DD'));




Related Posts:

  • Trigger para validação de data | OracleConsiderem-se as seguintes tabelas: Curso Disciplina Disciplina no Curso Pretende-se impedir que sejam introduzidas na tabela “Disciplina no Curso” datas de cessação inferiores à data actual. Como em Oracle não … Read More
  • Máquina do tempo...em Oracle Acontece por vezes que alguns dados podem inadvertidamente ser apagados ou modificados e não há tempo para os restaurar a partir de um dispositivo de backup. O Oracle possui uma tecnologia bastante útil denominada… Read More
  • Tabela dual ou dummy Este tipo especial de tabela, denominada em inglês de dummy, serve o propósito especial de fazer algumas operações sobre conjuntos sem aceder a tabelas de dados propriamente ditas. Isso alivia a carga do sistema e im… Read More
  • SYSDATE numa restrição CHECK em Oracle Como o valor de SYSDATE (data do sistema) é quase sempre diferente em cada momento de avaliação de uma cláusula CHECK então o Oracle não nos deixa fazer uma restrição desse tipo. Imagine-se, por exemplo, que se quer inse… Read More
  • Estatísticas | Oracle Oracle | Estatísticas from Carlos Pampulim Caldeira … Read More