所以我的设置为:
set entmap off
set feedback off
set verify off
set und off
set pagesize 100
set linesize 200
set markup html on
preformat off
entmap on
spool on
spool \\...\...\test.xls
......... 4 select queries ..........
set markup html off
spool off
输出显示在.xls电子表格中垂直堆叠的4个表格,从A1开始向左对齐,但有一种方法让我只有前3个垂直堆叠,第4个表格位于第3个右边/最低表将从单元格T23开始?
答案 0 :(得分:1)
如果要格式化输出,则需要使用UTL_FILE
包或DBMS_OUTPUT
包 - 分别写入文件或tty。 UTL_FILE
可能要求您的DBA添加ALL_DIRECTORIES
视图,以便定义目录对象。换句话说,你不能只写到你想要的任何文件夹。
这些包使用的语法输出有点类似于C printf
语句。
看到:
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_output.htm#BABJCAJA
答案 1 :(得分:1)
做这样的事情
-- Query 1
SELECT *
FROM TABLE1
WHERE WHATEVER = SOMETHING_ELSE;
-- Query 2
SELECT *
FROM TABLE2
WHERE YADA_YADA = THIS_N_THAT;
-- Queries 3 and 4
SELECT NVL(q3.RNUM, q4.RNUM) AS RNUM, q3.COL1, Q3.COL2, Q3.COL3,
' ' AS SPACER,
Q4.COL4, Q4.COL5, Q4.COL6
FROM (SELECT ROWNUM AS RNUM, COL1, COL2, COL3,
NULL AS COL4, NULL AS COL5, NULL AS COL6
FROM TABLE3) q3
FULL OUTER JOIN (SELECT ROWNUM AS RNUM, NULL AS COL1, NULL AS COL2, NULL AS COL3,
COL4, COL5, COL6
FROM TABLE4) q4
ON q4.RNUM = q3.RNUM;
通过这种方式,您可以将查询#4中的数据提取到查询#3的行右侧。
答案 2 :(得分:0)
考虑这个'部分'答案。
我是Oracle SQL Developer的产品经理,我们有一个新的实用程序SQLcl。
您可以将SQLFORMAT设置为CSV或HTML。
任何结果集都会自动格式化,不需要额外的编码。
它仍处于测试阶段,因此处于部分状态。