在sqlplus中打印输出

背景

在sqlplus 中执行下面的代码居然没任何输出, AI过才知道

1
2
3
4
5
DECLARE  
    v_sysdate      varchar2(200) := TO_CHAR(SYSDATE, 'yyyymmdddhh24misssss');  
BEGIN  
    DBMS_OUTPUT.PUT_LINE('sys.user$_' || v_sysdate );  
END;

DBMS_OUTPUT.PUT_LINE 本身只是把信息写到会话的输出缓冲区,SQL*Plus/SQL Developer 默认不把缓冲区内容显示出来。

操作

需要在执行代码前执行打开服务器输出: SET SERVEROUTPUT ON SIZE 1000000 最终见下

1
2
3
4
5
6
SET SERVEROUTPUT ON SIZE 1000000  
DECLARE  
    v_sysdate      varchar2(200) := TO_CHAR(SYSDATE, 'yyyymmdddhh24misssss');  
BEGIN  
    DBMS_OUTPUT.PUT_LINE('sys.user$_' || v_sysdate );  
END;

这是一个脚注 1

Licensed under CC BY-NC-SA 4.0
最后更新于 2025-12-03 15:07
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计