Create type 的问题

powpow 2004-04-05 02:48:48
先Create type List as object(str1 varchar2(50),str2 varchar2(50))
然后声明同义词和付给其他用户权限.

然后下面这个过程调用失败,用到了定义这个type为数组.
declare
type stat_array is varray(1000) of StatList;
arr1 stat_array;
begin
arr1 := stat_array();
arr1.extend();
arr1(0) .Str1 := 'a';
arr1(0) .Str2 := 'b';

end;

请问是什么问题
...全文
179 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hewei2003 2004-04-08
  • 打赏
  • 举报
回复
我记得:
可以在声明数组时加上“Index by 整数数据类型” 这样就可以不用初始化,就可以用类似arrl(1),arrl(2)这样的方式来使用,如果不加上Index by ... ,就必须得初始化数组,当然也可以用字符或字符串的方式来表示,如:arrl('a'),arrl('b')
beckhambobo 2004-04-06
  • 打赏
  • 举报
回复
declare
type stat_array is varray(1000) of List;
arr1 stat_array:=stat_array();
begin
arr1.extend();
arr1(1) .Str1 := 'a';
arr1(1) .Str2 := 'b';

end;
/

oracle数组下标由1开始
iwom 2004-04-05
  • 打赏
  • 举报
回复
declare
i NUMBER(2);
TYPE tabcolArr IS VARRAY (8) OF varchar2(800);
tabcolArray tabcolArr:=tabcolArr(0,0,0,0,0,0,0,0);
Begin
i:=0;
While i<8 Loop
tabcolArray(i) := a;
i:=i+1;
End Loop;
End;

没试过,可能有错
iwom 2004-04-05
  • 打赏
  • 举报
回复
statList是什么啊,是不是应该初始化 arrl?
好像数组定义一定要初始化的

17,086

社区成员

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

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