SQL*加上假脱机到 .xls/.html 帮助,需要并排的表格
SQL*Plus spooling to .xls/.html help, need tables to be side by side
所以我的设置是:
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 个 table 从 A1 开始向左对齐,但是我有没有办法让前 3 个垂直堆叠,第 4 个垂直堆叠table 在第 3 个/最低 table 的右侧,从单元格 T23 开始?
如果您想要格式化输出,您需要使用 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
做这样的事情
-- 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 行的右侧。
将此视为 'partial' 答案。
我是 Oracle SQL 开发人员的产品经理,我们有一个新实用程序 SQLcl。
您可以将 SQLFORMAT 设置为 CSV 或 HTML。
任何结果集都会自动格式化为该格式,无需额外编码。
它仍处于测试阶段,因此处于部分状态。
所以我的设置是:
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 个 table 从 A1 开始向左对齐,但是我有没有办法让前 3 个垂直堆叠,第 4 个垂直堆叠table 在第 3 个/最低 table 的右侧,从单元格 T23 开始?
如果您想要格式化输出,您需要使用 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
做这样的事情
-- 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 行的右侧。
将此视为 'partial' 答案。
我是 Oracle SQL 开发人员的产品经理,我们有一个新实用程序 SQLcl。
您可以将 SQLFORMAT 设置为 CSV 或 HTML。
任何结果集都会自动格式化为该格式,无需额外编码。
它仍处于测试阶段,因此处于部分状态。