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

Có phải dbms_output.put () được đệm khác với dbms_output.put_line () không?

Dưới đây là một ví dụ cho thấy hành vi bạn đang thấy:

SQL> exec dbms_output.put_line('hello')
hello

PL/SQL procedure successfully completed.

SQL> exec dbms_output.put('hello again')

PL/SQL procedure successfully completed.

SQL> exec dbms_output.put(' and again')

PL/SQL procedure successfully completed.

SQL> exec dbms_output.new_line
hello again and again

PL/SQL procedure successfully completed.

tài liệu cho biết "SQL * Plus gọi GET_LINES sau khi phát hành câu lệnh SQL hoặc lệnh gọi PL / SQL ẩn danh".

Và thủ tục GET_LINES cho biết "Thủ tục này lấy một mảng dòng từ bộ đệm."

Với PUT, bạn vẫn chưa hoàn thành dòng của mình. Và vì vậy nó không in.

Thủ tục NEW_LINE cũng đề cập đến điều này:"Thủ tục này đặt một điểm đánh dấu cuối dòng. Thủ tục GET_LINE và Thủ tục GET_LINES trả về" dòng "được phân tách bằng" dòng mới ". Mọi lệnh gọi đến Thủ tục PUT_LINE hoặc Thủ tục NEW_LINE sẽ tạo ra một dòng được trả lại bởi GET_LINE (S). "

Trân trọng,
Rob.




  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 SELECT WHERE giá trị tồn tại hoặc không tồn tại

  2. cx_Oracle:Sử dụng các loại PL / SQL RECORD làm đối số cho các thủ tục được lưu trữ

  3. Làm thế nào để phân tích cú pháp chuỗi được phân cách bằng dấu phẩy trong PL / SQL?

  4. Cách chọn nhanh dữ liệu từ Oracle

  5. Tạo ngày giữa hai ngày