首页 > 解决方案 > 如何在pl/sql中打印以点分隔的每一列

问题描述

我是 PL/SQL 的初学者。考虑我有三个表:emp, organization, emp_detail。请参阅图像以了解表架构和结果格式。

点击查看图片

我可以通过基于 加入这三个表来获得结果,emp_id但我不知道如何....在结果中打印点 ( )。

标签: sqloracleplsql

解决方案


就是这样; 我没有你的表格(也不想创建表格,因为你不想自己提供测试用例)所以我使用了 Scott 的EMP.

如果您不关心良好的对齐方式,请省略RPAD函数调用并仅连接所需数量的点。

SQL> set serveroutput on
SQL> begin
  2    for cur_r in (select empno, ename, job from emp where deptno = 10) loop
  3      dbms_output.put_line(cur_r.empno ||'.....'||
  4                           rpad(cur_r.ename, 15, '.') ||
  5                           cur_r.job
  6                          );
  7    end loop;
  8  end;
  9  /
7782.....CLARK..........MANAGER
7839.....KING...........PRESIDENT
7934.....MILLER.........CLERK

PL/SQL procedure successfully completed.

SQL>

推荐阅读