Oracle
 sql >> Database >  >> RDS >> Oracle

Perché SQL Engine viene chiamato per la chiamata PL/SQL dall'applicazione client?

Il motore SQL non ha sempre bisogno di essere chiamato, dipende dal client e dal fatto che il client abbia il motore PLSQL incorporato. Ad esempio, Oracle Forms ha un motore PLSQL incorporato, quindi quando si chiama una procedura PLSQL, l'intera chiamata può essere passata al motore e non si verifica alcun cambio di contesto. Tuttavia con PRO*C esegui sempre istruzioni SQL che poi eseguono "blocchi" di chiamate PLSQL in questo modo:

begin
   call_proc;
end;

Questo ha richiamato il parser SQL che quindi passa al motore PLSQL non appena viene eseguito il blocco anonimo "begin". Questo è solo il modo in cui il cliente è progettato. SQL*Plus è simile, esegui il motore SQL per chiamare i blocchi PLSQL.