Oracle
 sql >> база данни >  >> RDS >> Oracle

Изходът на скрипта на SQL Developer съкращава ширината на sys_refcursor

Не отговарям директно на въпроса - не знам защо поведението е различно или как да го променя при извикване на функцията от заявка, освен с column команда, за да зададете ширината, като използвате псевдоним тук, за да опростите леко нещата:

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

Но можете също да получите желания резултат, като извикате функцията по различен начин; с променлива и анонимен блок (или execute като стенография):

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

Е, почти както искате; първият ред на изхода е името на променливата, а не списъкът с функции/параметри; но колоните на курсора не са обвити:

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

Можете също да стартирате функцията си от редактора на кода (а не от работния лист), който генерира анонимен блок за вас; когато щракнете върху стрелката за изпълнение (или натиснете Control-F10), ще получите диалогов прозорец като този:

И след като го стартирате, получавате раздел „изходни променливи“ в долната част на главния прозорец, който показва изхода на курсора в мрежа.

Можете също да видите изгледа на мрежата, когато стартирате select my_function(...) from dual . Курсорът отива в нормалния прозорец за „резултат от заявка“, но не в много удобна форма, изглежда като нещо като:

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

Но ако щракнете двукратно върху стойност, тогава ще видите жълт символ на молив в най-дясната част на колоната и щракването върху него показва този курсор в собствената му решетка.

Лично аз предпочитам print опция в изхода на скрипта, но така или иначе рядко използвам gird дисплеите.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да промените таблицата за добавяне на колона оракул

  2. Как да инсталирате Oracle Express Edition за SQL практика

  3. Как да получите броя на елементите в JSON масив, съхранен като CLOB с Oracle 12c?

  4. Клиентски и мрежови компоненти на Oracle не бяха открити

  5. Как да генерирате диаграма за връзка между обекти (ER) с помощта на Oracle SQL Developer