SQL-motoren behøver ikke altid at blive kaldt - den afhænger af klienten og om klienten har PLSQL-motoren indlejret i sig. For eksempel har Oracle Forms en indlejret PLSQL-motor, derfor kan hele opkaldet sendes til motoren, når du kalder en PLSQL-procedure, og der sker ingen kontekstskift. Men med PRO*C udfører du altid SQL-sætninger, som derefter udfører "blokke" af PLSQL-kald som dette:
begin
call_proc;
end;
Dette har påkaldt SQL-parseren, som derefter skifter til PLSQL-motoren, så snart den anonyme "begynd"-blok udføres. Det er bare den måde, klienten er opbygget på. SQL*Plus ligner, du kører SQL-motoren for at kalde PLSQL-blokkene.