SóProvas


ID
630817
Banca
FCC
Órgão
TRE-PE
Ano
2011
Provas
Disciplina
Banco de Dados
Assuntos

Sobre o engine PL/SQL, está INCORRETO afirmar:

Alternativas
Comentários
  • Questão muito complicada, mas o erro da B é afirmar que executa algo no "engine PL/SQL do banco".
    Na verdade executa os procedimentos na própria engine onde estiver o PL/SQL, como visto na A, pode não estar no banco.
    Para o banco, o PL/SQL manda apenas instruções SQL, o resto é feito na própria engine.
  • Apesar de parecer ser complicada, essa questão foi extraída diretamente da documentação do oracle:

    The PL/SQL compilation and run-time system is an engine that compiles and executes PL/SQL blocks and subprograms. The engine can be installed in an Oracle server or in an application development tool such as Oracle Forms.

    In either environment, the PL/SQL engine accepts as input any valid PL/SQL block or subprogram. Figure 1-3 shows the PL/SQL engine processing an anonymous block. The PL/SQL engine executes procedural statements but sends SQL statements to the SQL engine in the Oracle database.



    Fonte:
    http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/overview.htm#i4603
  • de forma traduzida:
    PL / SQL Arquitetura

    A compilação PL / SQL e tempo de execução do sistema é um motor que compila e executa blocos PL / SQL e subprogramas. O motor pode ser instalado em um servidor Oracle ou em uma ferramenta de desenvolvimento de aplicações, tais como Oracle Forms.

    Em qualquer ambiente, o motor de PL / SQL aceita como entrada um bloco PL / SQL válida ou subprograma. Figura 1-3 mostra o mecanismo PL / SQL processamento de um bloco anônimo. O motor de PL / SQL executa instruções processuais, mas envia instruções SQL para o motor SQL no banco de dados Oracle.

    Figura 1-3 Mecanismo de PL / SQL


    http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/overview.htm#i4603
  • vai me desculpar, mas esse "qualquer" da letra C não pode aparecer como "qualquer" fora do contexto de um texto maior. Tanto é, que o original em inglês usa "either"

  • alternativa b) incorreta. Ao executar uma instrução é dita como um bloco de instrução PL/SQL. O que for procedural é executado pelo SQL Statament Executor(Oracle Server) e o que for procedural é executado pelo Procedural Statamen Executor (A engine do PL/SQL). SQL Chega no PL/SQL Engine mas não é executado nele, pois não é processado no Procedural Statament Executor dentro do PL/SQL Engine.

  • A Arquitetura PL/SQL possui 2 elementos básicos: PL/SQL Engine  e  Oracle Server

     

    O primeiro a receber o bloco PL/SQL é o Engine. Ele executa a parte procedural e manda a parte SQL para o Oracle Server (servidor), pois é necessário acessar fisicamente o banco de dados para obter as informações requeridas na consulta.

     

    Logo, a letra B está incorreta, pois afirma que a parte SQL é executada no PL/SQL Engine. Já vimos que essa parte é executada no Oracle Server (Servidor).

     

    Bons estudos!