【发布时间】:2023-03-20 09:53:01
【问题描述】:
我在 cursor 的帮助下运行一些 Oracle 程序,并通过 dbms_output.put_line 在日志文件中获取输出。
我想做的是在 server_name 上换行,dbms_output.put_line 可以吗?
目前它会将所有看起来不整洁的东西都列在一起。
还有一些服务器 id 显示为 1234.9 或 1234.88,是否可以设置像 999.99 这样的 numformat?不知怎的,我不能在过程中做col server_id for 999.99。
create procedure proc (vServer IN VARCHAR2, vServerID IN NUMBER)
IS
CURSOR curTable
IS
SELECT server_name, server_id
FROM tab1
WHERE server_name = vServer
and server_id = vServerID;
BEGIN
FOR rec1 IN curTable
LOOP
dbms_output.put_line(rec1.server_name || ' '|| rec1.server_id);
END LOOP;
END proc;
所需输出示例:
S1 1234
S1 1234
S1 1234
S2 5678
S2 5678
【问题讨论】:
-
您是否有理由在 PL/SQL 中执行此操作,而不是作为简单的 SQL commad - 也许使用 SQL*Plus 格式化命令?
-
我同意并提出了简单的 SQL,但对于多用户访问,它需要在程序中。
-
不确定我是否理解您的意思...但是,您传递的是单个服务器名称和 ID,那么您将如何在输出中获得不同的服务器?
标签: oracle stored-procedures dbms-output