各位帮忙看一下这块错在哪里了???

whxxr 2008-03-21 05:08:42
type VarTableType is table of varchar2(2000);
function str2varList( p_string in varchar2 ) return VarTableType pipelined ;


procedure p_add_pz(pzall in varchar2)
is
begin
[color=#FF0000] insert into aaa(a2) select *from table(str2varlist(pzall));
如果按照这种写法,在调用过程时出错,如果直接在函数当中输入数值则没有问题.
end p_add_pz;

SQL> exec pkg_addpz.p_add_pz('2008,01,00,aaa$2008,01,00,bbb$2008,01,00,ccc')
BEGIN pkg_addpz.p_add_pz('2008,01,00,aaa$2008,01,00,bbb$2008,01,00,ccc'); END;

*
ERROR 位于第 1 行:
ORA-22905: 无法从非嵌套表项访问行
ORA-06512: 在"LC0019999.PKG_ADDPZ", line 104
ORA-06512: 在line 1[/color]

procedure p_add_pz(pzall in varchar2)
is
begin

insert into aaa(a2) select *from table(str2varlist('2008,01,00,aaa$2008,01,00,bbb$2008,01,00,ccc'));
end p_add_pz;


SQL> exec pkg_addpz.p_add_pz('a')

PL/SQL 过程已成功完成。

SQL> select *from aaa
2 /

A1
----------
A2
--------------------------------------------------------------------------------

2008,01,00,aaa


2008,01,00,bbb


2008,01,00,ccc


...全文
65 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CathySun118 2008-03-24
  • 打赏
  • 举报
回复
使用动态sql

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧