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

Výstup skriptu SQL Developer zkrátí šířku sys_refcursor

Neodpovídám přímo na otázku - nevím, proč se chování liší nebo jak ho změnit při volání funkce z dotazu, jinak než pomocí column příkaz pro nastavení šířky pomocí aliasu pro mírné zjednodušení:

set lines 250
column rc format a250
select my_function(input1,input2,input3) as rc from dual;

Ale můžete také získat požadovaný výstup voláním funkce jiným způsobem; s proměnnou a anonymním blokem (nebo execute jako těsnopis):

variable rc refcursor;
exec :rc := MY_FUNCTION(input1,input2,input3);
print rc

No, skoro jak chcete; první řádek výstupu je název proměnné spíše než seznam funkcí/parametrů; ale sloupce kurzoru nejsou zalomeny:

anonymous block completed
RC
---------------------------------------------------------------------------
COLUMN1                   COLUMN2 COLUMN3    COLUMN4    COLUMN5    
------------------------- ------- ---------- ---------- ---------- 
18-NOV-14                 text    some_data1 some_data2 some_data3 

Svou funkci můžete také spustit z editoru kódu (spíše než z listu), který vám vygeneruje anonymní blok; když kliknete na šipku běhu (nebo stisknete Ctrl-F10), zobrazí se dialogové okno jako toto:

A po jeho spuštění se vám ve spodní části hlavního okna zobrazí záložka 'výstupní proměnné', která zobrazuje výstup kurzoru v mřížce.

Zobrazení mřížky můžete také vidět, když spustíte select my_function(...) from dual . Kurzor přejde do normálního okna „výsledek dotazu“, ale ne ve velmi přátelské podobě, zobrazí se jako:

{<COLUMN1=19-NOV-14,COLUMN2=text,COLUMN3=some_data1,COLUMN4=some_data2,COLUMN5=some_data3>,}

Pokud však na hodnotu dvakrát kliknete, uvidíte symbol žluté tužky zcela vpravo ve sloupci a kliknutím na něj se kurzor zobrazí v jeho vlastní mřížce.

Osobně preferuji print možnost ve výstupu skriptu, ale stejně zřídka používám zobrazení gird.




  1. ORA-00907:chybí pravá závorka

  2. Prozkoumání Java Unit Testing pomocí JUnit Test Framework

  3. Proč SQL Server typ DATETIME šetří čas v krocích 1/300 sekundy?

  4. 6 způsobů, jak zkontrolovat, zda existuje tabulka na serveru SQL (příklady T-SQL)