使用SELECT FROM DUAL创建临时表:
WITH TEMP_TABLE_NAME AS (
SELECT 'REC1_FLD1_VAL' AS REC1_FLD1, SELECT 'REC1_FLD2_VAL' AS REC1_FLD2, …, FROM DUAL
UNION ALL
SELECT 'REC2_FLD1_VAL' AS REC2_FLD1, SELECT 'REC2_FLD2_VAL' AS REC1_FLD2, …, FROM DUAL
UNION ALL
…
)
-- 上述 TEMP_TABLE_NAME表中记录大约2000多条
SELECT …
<此处若干查询>
FROM TEMP_TABLE_NAME
在Oracle SQL Developer Query运行语句得到结果看起来似乎正常,但是如果进行导出Export,就发现无论xlsx格式或者csv格式文件均为0字节——没有内容。
临时解决方案,在Query Result窗口中按 ctrl + End ,此时查返所有记录,在复制copy,past到记事本中保存为,文本文件,后续再进行处理。
进一步解决,创建静态的表,导入数据查询,发现其中有些字段不够长,猜测可能是:
1、字段不够长导致查询有点问题,所以导出全部记录时有问题;
2、临时表中记录条数过多导致查询有问题。——经使用其他记录较多,但是字段不出错的查询进行测试导出,发现导出的文件确实是0kb
所以临时表记录条数比较多的话,还是需要建静态表。