
有两个用户,其中一个用户编译oracle函数的时候不报错,另外一个用户编译就报错
CREATEORREPLACEFUNCTIONTO_ROW(ainvarchar2)returntable_typepipelined//报错行(报错信息identifi...
CREATE OR REPLACE FUNCTION TO_ROW
(
a in varchar2
)
return table_type pipelined //报错行(报错信息identifier 'TABLE_TYPE' must be declared)
is
str row_type;
b varchar2(1000);
begin
b:=replace(a,'%','');
for thisrow in (SELECT REGEXP_SUBSTR(b,'[^,]+', 1, LEVEL, 'i') myrow FROM dual CONNECT BY LEVEL <=LENGTH(b)-LENGTH(REGEXP_REPLACE(b,',',''))+1) loop
str:=row_type(thisrow.myrow);
pipe row(str);
end loop;
return;
end;
求大神指教,找了好久都没解决.. 展开
(
a in varchar2
)
return table_type pipelined //报错行(报错信息identifier 'TABLE_TYPE' must be declared)
is
str row_type;
b varchar2(1000);
begin
b:=replace(a,'%','');
for thisrow in (SELECT REGEXP_SUBSTR(b,'[^,]+', 1, LEVEL, 'i') myrow FROM dual CONNECT BY LEVEL <=LENGTH(b)-LENGTH(REGEXP_REPLACE(b,',',''))+1) loop
str:=row_type(thisrow.myrow);
pipe row(str);
end loop;
return;
end;
求大神指教,找了好久都没解决.. 展开
展开全部
权限问题,你的table_type应该是你自己定义的一个type,这个格式应该是能编译的那个用户私有的,另外一个用户并不认识这个type,所以不能编译。他的提示很明显说明,他不认识这个type,所以需要授权。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询