Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Đầu ra tập lệnh của Nhà phát triển SQL cắt bớt chiều rộng sys_refcursor

Không trực tiếp trả lời câu hỏi - Tôi không biết tại sao hành vi lại khác hoặc làm cách nào để thay đổi nó khi gọi hàm từ một truy vấn, khác với column lệnh để đặt chiều rộng, sử dụng bí danh ở đây để đơn giản hóa mọi thứ một chút:

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

Nhưng bạn cũng có thể nhận được đầu ra bạn muốn bằng cách gọi hàm theo cách khác; với một biến và một khối ẩn danh (hoặc execute viết tắt):

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

Chà, gần như bạn muốn; dòng đầu tiên của đầu ra là tên biến chứ không phải là danh sách hàm / tham số; nhưng các cột con trỏ không được bao bọc:

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

Bạn cũng có thể chạy chức năng của mình từ trình soạn thảo mã (thay vì trang tính), chức năng này sẽ tạo một khối ẩn danh cho bạn; khi bạn nhấp vào mũi tên chạy (hoặc nhấn control-F10), bạn sẽ nhận được hộp thoại như sau:

Và sau khi chạy nó, bạn sẽ nhận được một tab 'biến đầu ra' ở cuối cửa sổ chính hiển thị đầu ra con trỏ trong lưới.

Bạn cũng có thể thấy chế độ xem lưới khi bạn chạy select my_function(...) from dual . Con trỏ đi vào cửa sổ 'kết quả truy vấn' bình thường nhưng không ở dạng thân thiện lắm, xuất hiện như sau:

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

Nhưng nếu bạn nhấp đúp vào một giá trị thì bạn sẽ thấy biểu tượng bút chì màu vàng ở ngoài cùng bên phải của cột và nhấp vào đó sẽ hiển thị con trỏ đó trong lưới của chính nó.

Cá nhân tôi thích print trong đầu ra tập lệnh nhưng dù sao thì tôi cũng hiếm khi sử dụng các màn hình 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. dữ liệu listagg sang định dạng có thể sử dụng được?

  2. Các thay đổi của Oracle Ace

  3. 40 câu hỏi bạn phải biết về R12.2

  4. Lấy giá trị từ FieldA, gửi đến hàm db, trả về giá trị cho FieldB

  5. Khôi phục một giao dịch đã cam kết