暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle SQLcl使用流水线功能比SQL * Plus更糟糕

askTom 2017-10-19
309

问题描述

让我们想象一下,我们有一个流水线函数,如图所示
https://oracle-base.com/articles/misc/pipelined-table-functions#pipelined_table_functions
我的目的是显示,该函数是否真的逐行返回数据,而不是一次在 “包”。首先,让我们添加一个
DBMS_LOCK.SLEEP(0.2)
线内
LOOP...END LOOP
块,以减慢行的生成速度。第二步,就是运行SQL * Plus,然后执行
SET ARRAYSIZE 1
允许逐行返回的语句。它工作正常,我可以看到如何出来流水线函数缓慢地,逐行返回数据。我试图使用新版本的命令行SQLcl获得相同的效果。虽然
SET ARRAYSIZE 1
语句也可以运行,它的效果与SQL * Plus不同。在SQLcl控制台中,生成的行作为一个整体 “包” 返回,而不是逐行返回,甚至使用
SET ARRAYSIZE 1
DBMS_LOCK.SLEEP(0.2)
在循环中。那我怎样才能获得适当的效果呢?

专家解答

我问了首相这个。

“我们在末端缓冲和打印”

是的,使用SQLcl,您将无法看到这种效果。

抱歉。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论