【发布时间】:2012-08-10 19:22:29
【问题描述】:
科尔斯,你好。谁能告诉我如何将下一个“非常规”选择转换为存储过程。
SELECT * FROM TABLE
(parallel_dump –- this is a pipelined function which helps to create a huge file using UTL
(
CURSOR(
SELECT /*+ PARALLEL(s,4)*/
to_clob(B1)||to_clob(B2)||to_clob(B3)||to_clob(B4) AS cvs
FROM
(select
(A1||…||A200) as B1,
(A201||…||A400) as B2,
(A401||…||A600) as B3,
(A601||…||A839) as B4 from
(
Select blabla from Dual
Union all
select * from anytable
union all
select blablaba from DUAL
union all
select blabla from DUAL
)
) s),
'filename',
'DIRECTORY_NAME'
)
) nt;
我不明白在哪里以及如何使用“into”。我尝试了一些变体,但无法编译 proc。
【问题讨论】:
-
你想对选中的数据做什么?除了选择之外,该过程会做什么 - 您是否只是想制作一个将调用流水线函数并丢弃结果的包装器?或者使用所选数据执行
UTL_FILE操作? -
选择的数据被上传到文件中。程序将数据发送到函数,该函数将其上传到 txt 文件中。
标签: sql oracle function stored-procedures