问题标签 [pipelined-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
124 浏览

plsql - PLS-00201 PL/SQL 中的流水线函数错误

我试图在 PL/SQL 中创建流水线表函数,但遇到以下错误。这是语法错误吗?


脚本输出:


我错过了在创建函数之前创建行和表类型。稍后创建了它们,如下所示,并尝试创建将输入作为 ID 字符串并将各个 ID 输出到另一个函数的函数。

这里的表达有什么问题?pipe row (to_number(substr(ids_in, n_start+1, n_end - n_start - 1)));

0 投票
1 回答
50 浏览

oracle - 编写一个函数/过程,将大约 150k 行合并为一个,并将其作为输出发送,以便能够从 UI 下载

我想就执行以下提到的场景的最佳方法获得一些意见。我只是在这里寻找一种替代的最佳方法,而不是调试错误。

我有一个 select 语句,它产生大约 150K 行和大约 10 列。我需要使用制表符分隔符连接列,然后循环遍历每一行并将所有内容组合成一行。此列值正在使用函数调用并从 UI 下载。

当前方法:编写一个流水线函数以将其作为 clob 输出并使用它从 UI 下载。

我可能用词不当。预期输出:所有行合并为一个由新行分隔的行 COL_A COL_B COL_C COL_D COL_E 155189 TEST TEST TEST ABCD 127557 TEST TEST TEST ABCD ....... 说大约 150K 行合并

这种方法有时会引发错误,并在几次尝试下载此 clob 值文本文件后起作用。

0 投票
1 回答
194 浏览

oracle - PL/SQL 表函数之间的流水线

我有一个带有 2 个流水线功能的包。当我试图用另一个函数作为参数调用一个函数时,我收到“ORA-06553:PLS-306:调用中的参数数量或类型错误”错误。

这是包:

我调用函数如下:

并且调用抛出错误:

我究竟做错了什么?

0 投票
0 回答
69 浏览

oracle - 具有通用记录类型的 Oracle 流水线功能?

我有一个返回 SQL 查询结果的流水线函数:

这可行,但我必须在包头中定义记录及其类型:

丑陋的。有没有办法避免必须一个一个地声明所有类型定义的“硬编码”记录?

我看到了ANYDATA类型,但我无法让它工作。我应该使用这种方法,如果是,该怎么做?如果不是,我应该使用某种 ref 游标,或者这在 Oracle 中根本不可能?

谢谢

0 投票
0 回答
28 浏览

mysql - 有没有办法将 oracle 流水线表函数转换为 mysql 特定的?

有没有办法将 oracle 流水线表函数转换为 mysql 特定的?

要求是从oracle迁移到mysql。现有的 oracle db 具有流水线表功能

0 投票
0 回答
8 浏览

http - Http操作,管道模式,url,

最终用户请求将网页“www.computernetworks.com”(假设)加载到浏览器中。假设网页由一些文本和 7 张 JPEG 图像组成。, 使用适当的时序图解释从用户在浏览器中输入网页 URL 并按下“Enter”键的那一刻起发生的一系列步骤。提出HTTP操作的持久化和非持久化模式的区别。此外,说明流水线模式(具有 3 个并行连接)和非流水线模式之间的区别。在上述每种情况下,估计网页完全加载的总体延迟(根据往返时间和任何其他固定延迟组件)。

0 投票
1 回答
58 浏览

sql - Oracle Query over Pipeline Function - 数据包含 ASCII 扩展字符时出现奇怪错误

我遇到了 Oracle 管道功能的问题,我很想知道发生了什么。My Oracle Database 是在 Red Hat 7.2 上运行的 19c 版,并配置AL32UTF8为 CharacterSet。

让我解释一下这个场景。

为了使用并行进程生成文件,我有以下两种类型和一种管道功能的设置,因此我可以难以置信地加快大文件的生成。

两种类型

流水线函数

这是管道功能,用于获取我可以加入然后cat在 Linux 中使用的块中的输出文件。

我在函数内部使用序列为这些文件分配唯一编号。让我们测试一下场景

有问题的表

如果我针对该dba_objects表或其他类似的表/视图运行该函数,则一切正常。

如您所见,流水线函数按预期工作,它创建了 10 个 csv 文件,我以后可以使用cat. 但是,如果我尝试针对上面显示的表运行它,就会发生这种情况(出于示例的目的,我只是使用了表的某些列)

在职的

不工作

两个查询之间的唯一区别是“ROLLE”列包含 ASCII 扩展字符(如德语中的字母,例如“äüöß”)。包含此类字符的每一列都会发生这种情况。

实际上错误是指这一行:v_buffer := v_buffer || c_eol || v_rows(i);,但我不知道当涉及这些字符时有什么问题。

我不太明白那些扩展 ASCII 字符和函数之间存在什么关系。我应该对我的功能进行哪些更改以使其与此类字符一起使用?

谢谢大家的帮助。