如何在oracle pl / sql

时间:2015-07-04 07:23:15

标签: oracle plsql

我一直在使用dbms_output.put_line来编写输出,大约500000行,超过500个字符。

我想要输出一行,我尝试了dbms_output.put。但它没有这样做,因为dbms_output.put具有32000位的限制。请提出任何解决方案。

1 个答案:

答案 0 :(得分:0)

DBMS_OUTPUT是一种向标准输出(即屏幕)显示消息的机制。 PL / SQL程序的本质是它们倾向于面向批处理并且经常作为后台作业运行,因此DBMS_OUTPUT具有狭窄的应用程序。写出大量数据不是其中之一。

您没有解释您的用例,但是需要在单个输出流中呈现数百万个字符而不回车,这表明您想要写入文件。 Oracle为此提供了内置的UTL_FILE。我们可以迭代调用UTL_FILE.PUT()来将尽可能多的数据写入文件中的单行。 Find out more

UTL_FILE有一个主要约束,它只能写入数据库服务器上的文件。也许这就是你尝试使用DBMS_OUTPUT的原因?

还有别的吗? Oracle 12c通过DBMS_XMLDOM支持PLSQL中的Streaming。 Check it out

这是一个非常模糊的答案,因为你的问题很模糊。如果您编辑问题并提供有关问题的实际详细信息,我可以使我的回复更加具体。