sql >> Database >  >> RDS >> Oracle

Waarom wordt SQL Engine aangeroepen voor PL/SQL-aanroep vanuit de clienttoepassing?

De SQL-engine hoeft niet altijd te worden aangeroepen - het hangt af van de client en of de client de PLSQL-engine erin heeft ingebed. Oracle Forms heeft bijvoorbeeld een ingebouwde PLSQL-engine, dus bij het aanroepen van een PLSQL-procedure kan de hele aanroep worden doorgegeven aan de engine en vindt er geen contextwisseling plaats. Met PRO*C voert u echter altijd SQL-instructies uit die vervolgens "blokken" van PLSQL-aanroep als volgt uitvoeren:

begin
   call_proc;
end;

Dit heeft de SQL-parser aangeroepen die vervolgens overschakelt naar de PLSQL-engine zodra het anonieme blok "begin" wordt uitgevoerd. Dit is gewoon de manier waarop de klant is ontworpen. SQL*Plus is vergelijkbaar, u voert de SQL-engine uit om de PLSQL-blokken aan te roepen.




  1. PHP Keer de volgorde van resultaten van MySQL DB om

  2. Laravel / Welsprekend:genest WhereHas

  3. Rangfunctie in MySQL met Order By-clausule

  4. PostgreSQL kan json_object_keys niet aanroepen op een scalair