管道 两个表传递数据 发生:不一致的数据类型

yumable yumable 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
create or replace type place as object
(
line1 varchar2(20),
line2 varchar2(20),
city varchar2(20),
state_code varchar2(20),
zip varchar2(20)
);

create type placelist as table of place;

create or replace function f_table_obj_pipelined
return placelist pipelined
is
v_address place;
begin
for i in 1..3 loop
if(i = 1) then
v_address :=
place('20','vy','ny','1','usa');
elsif ( i = 2) then
v_address :=
place('21','nj','nj','2','js');
elsif (i = 3) then
v_address :=
place('22','ah','ah','3','zg');
end if;
pipe row(v_address);
end loop;
return;
end;
/
--select * from table(f_table_obj_pipelined);
create or replace function f_table_obj_pipelined1(p_ref_cursor sys_refcursor)
return placelist pipelined
is
v_address1 place;
v_address2 place;
begin loop
fetch p_ref_cursor into v_address1;
exit when p_ref_cursor%notfound;
if(v_address1.city = 'ny') then
v_address2.line1 := '24';
v_address2.line2 := 'cd';
v_address2.city := 'cd';
v_address2.state_code := '4';
v_address2.zip := 'sc';
elsif (v_address1.city ='nj') then
v_address2.line1 := '25';
v_address2.line2 := 'aq';
v_address2.city := 'aq';
v_address2.state_code := '5';
v_address2.zip := 'aq';
end if;
pipe row(v_address2);
end loop;
close p_ref_cursor;
return;
end;
/

select * from table(f_table_obj_pipelined1(cursor(select * from table(f_table_obj_pipelined()))));
红色部分提示数据类型不一致错误???????
f_table_obj_pipelined作为第一个管道表函数,f_table_obj_pipelined1作为第二个管道表函数]

请大侠们指点,谢谢
...全文

相关推荐

可在两个程序之间传递数据

标题“可在两个程序之间传递数据”和描述“有两个模块,一个发送数据;一个接收数据”所涵盖的知识点主要涉及到以下几个方面:1.

ayzyj2

FIFO配合管道PIPE,实现FIFO传递数据,PIPE触发epoll,异步IO效果

而管道PIPE则是一种半双工通信方式,数据只能单向流动,但可以同时在两个进程中传输。这里我们将探讨如何将FIFO与管道PIPE结合使用,以实现FIFO传递数据,并利用epoll实现异步I/O的效果。

leifenger

实验四:Linux下进程管道通信.docx

管道提供了一种简单且有效的方法来传递数据,特别是在父子进程或兄弟进程之间。此外,实验也强调了在多进程环境中正确处理并发写入和读取的重要性,以避免数据竞争和丢失。

kb2414

PB数据管道使用说明

数据管道对象可以完成数据管道的功能,需要提供以下内容:需要数据源和目标数据库,并能够和这两个数据库正常联接;需要源数据库中的哪些表;需要复制到目标数据库中的什么位置;要完成哪些管道操作;发生错误的频率;

冷-寂

python中管道用法入门实例

"Python中的管道(Pipe)是进程间通信(IPC)的一种方式,它允许不同进程之间传递数据。本文提供了一个简单的入门实例,演示了如何在Python中使用管道进行数据传输,包括生产者和消费者模型的基

weixin_38669793
评论
收藏 已收藏
分享
返回顶部
yumable
Oracle 17,133 成员 55,258 内容