Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Por que o SQL Engine é chamado para chamada PL/SQL do aplicativo cliente?


O mecanismo SQL nem sempre precisa ser chamado - depende do cliente e se o cliente possui o mecanismo PLSQL embutido nele. Por exemplo, o Oracle Forms possui um mecanismo PLSQL incorporado, portanto, ao chamar um procedimento PLSQL, toda a chamada pode ser passada para o mecanismo e nenhuma mudança de contexto ocorre. No entanto, com PRO*C você está sempre executando instruções SQL que executam "blocos" de chamada PLSQL assim:
begin
   call_proc;
end;

Isso invocou o analisador SQL que então alterna para o mecanismo PLSQL assim que o bloco anônimo "begin" é executado. Esta é apenas a forma como o cliente é arquitetado. O SQL*Plus é semelhante, você executa o mecanismo SQL para chamar os blocos PLSQL.