Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Keluaran skrip Pengembang SQL memotong lebar sys_refcursor

Tidak langsung menjawab pertanyaan - Saya tidak tahu mengapa perilakunya berbeda atau bagaimana mengubahnya saat memanggil fungsi dari kueri, selain dengan column perintah untuk mengatur lebar, menggunakan alias di sini untuk sedikit menyederhanakan:

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

Tetapi Anda juga bisa mendapatkan output yang Anda inginkan dengan memanggil fungsi tersebut secara berbeda; dengan variabel dan blok anonim (atau execute sebagai singkatan):

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

Yah, hampir seperti yang Anda inginkan; baris pertama dari output adalah nama variabel daripada daftar fungsi/parameter; tetapi kolom kursor tidak dibungkus:

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

Anda juga dapat menjalankan fungsi Anda dari editor kode (bukan lembar kerja), yang menghasilkan blok anonim untuk Anda; ketika Anda mengklik panah run (atau tekan control-F10) Anda mendapatkan dialog seperti ini:

Dan setelah menjalankannya, Anda mendapatkan tab 'variabel keluaran' di bagian bawah jendela utama yang menunjukkan keluaran kursor dalam kotak.

Anda juga dapat melihat tampilan grid saat menjalankan select my_function(...) from dual . Kursor masuk ke jendela 'hasil kueri' normal tetapi tidak dalam bentuk yang sangat ramah, muncul sebagai sesuatu seperti:

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

Tetapi jika Anda mengklik dua kali sebuah nilai, maka Anda akan melihat simbol pensil kuning di ujung kanan kolom, dan mengklik itu menunjukkan kursor itu di kotaknya sendiri.

Secara pribadi saya lebih suka print opsi dalam output skrip tetapi saya jarang menggunakan tampilan 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. Oracle Apex 5.0 - Menampilkan gambar statis

  2. Menghasilkan Angka Acak Di Setiap Baris Dalam Oracle Query

  3. Tanggal Oracle

  4. Mendeklarasikan &Mengatur Variabel dalam Pernyataan Pilih

  5. APPL_TOP bertahap di Oracle Applications R12