Oii, Francisco, tudo bem?
A variável user_app
consegue acessar os dados (ou modificar) dependendo dos comandos que você insere. Como os privilégios dados ao user_app
foram pela linha de código GRANT SELECT, INSERT ON SEGMERCADO TO user_app;
, ali também foi cedido o acesso para ler a tabela.
Ele consegue ler a tabela e consequentemente os pacotes que já são do próprio SGBD, como o dbms_output
. Esse pacote já é nativo do SGBD da Oracle, então, com as permissões cedidas à variável user_app
, ele irá poder ler naturalmente sem precisar de permissões a mais (pois na instalação, os privilégios necessários para fazer essas modificações mais a fundo são especificados no ato de instalar. Ou seja, a permissão foi concedida no momento em que você instalou).
Espero ter ajudado. Se a dúvida persistir, estou à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.