sql >> Databáze >  >> RDS >> Oracle

Existuje nějaký způsob, jak vyprázdnit výstup z PL/SQL v Oracle?

Spíš ne. DBMS_OUTPUT funguje takto:Váš PL/SQL blok se spustí na databázovém serveru bez interakce s klientem. Takže když zavoláte PUT_LINE, pouze vloží tento text do vyrovnávací paměti v paměti na serveru. Po dokončení vašeho PL/SQL bloku je řízení vráceno klientovi (v tomto případě předpokládám SQLPlus); v tomto okamžiku klient získá text z vyrovnávací paměti voláním GET_LINE a zobrazí jej.

Jediným způsobem, jak zajistit, aby se výstup zobrazoval v souboru protokolu častěji, je rozdělit velký blok PL/SQL na několik menších bloků, aby se kontrola vrátila klientovi častěji. To nemusí být praktické v závislosti na tom, co váš kód dělá.

Další alternativou je použití UTL_FILE k zápisu do textového souboru, který lze kdykoli vyprázdnit, nebo použít proceduru autonomní transakce k vložení příkazů ladění do databázové tabulky a potvrzení po každém z nich.



  1. Použití funkce Oracle to_date pro řetězec data s milisekundami

  2. Správný způsob implementace jedinečného omezení, které umožňuje více hodnot NULL v SQL Server

  3. Jak mohu zjistit a svázat změny mezi hodnotami řádků v tabulce SQL?

  4. 25 Microsoft Access Zkratky pro úsporu času v tabulkách v zobrazení datového listu