永发信息网

oracle 数组长度

答案:2  悬赏:20  手机版
解决时间 2021-02-08 07:20
declare type a is array(5) of number(2);
begin
for i in a.length
loop
DBMS_OUTPUT.PUT_LINE(a(i));
end loop;
end;这段代码怎么改
最佳答案
declare
type array_type is array(5) of number(2);
a array_type := array_type(5,5,5,5,5);
begin
for i in 1..a.count loop
DBMS_OUTPUT.PUT_LINE(a(i));
end loop;
end;
/
记住,你的数组最大长度是5,我给你初始化了5个数据。如果我给你初始3个数据,那么你的数组实际长度就是3,如果你a(4)就会数组越界,下面是一种扩展数组的方法:
declare type array_type is array(5) of number(2);
a array_type := array_type();
begin
for i in 1..5 loop
a.extend;
a(i) := i;
end loop;

for i in 1..a.count loop DBMS_OUTPUT.PUT_LINE(a(i));
end loop;
end;
/

当然你也可以用 a.extend(5) 直接扩展5个(这个扩展长度不能大于5哦)

你有个地方理解错了type a is array(5) of number(2);这句只是声明了一个数据类型(数组类型)
此时你的a和number(2)是一个意思
a array_type := array_type(5,5,5,5,5);这个才是定义一个数组变量a
全部回答
 给你个思路,把数组写在程序里(也就是你用的vb.net),在程序里拼sql语句,然后使用ado.net,拿到符合条件的数据集合。 下面是伪代码 string[] conditions=new stringp[]{"aa","bb","cc"};//存放where条件到数组 for(int i=0;i<conditions.length;i++)//遍历你的条件数组 {   string sql="select * from 表名 where 条件="+conditions[i];//拼sql语句   oraceldatareader reader=cmd.executequery(sql);  //借助ado.net ,得到你需要的数据集合 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么叫调仓换股
二级缓存512K三级缓存3M玩游戏怎么样
新疆境内最著名的石窟是
源鸿兴科钢业制品公司地址有知道的么?有点事
有没有cs开头的人民币
车载一体机SD卡是多大的,买的时候这么说呀!
人造卫星与地球同步,它相对于________是静止
数控铣床上用直径3键槽刀 进给30 转速1400铣
有什么好看的关于拳击电影
那洪幼儿园地址有知道的么?有点事想过去
为什么每次站在高的地方都有种想跳下去的感觉
高清视频矩阵和模拟视频矩阵有什么区别?
羊肉大葱稍美馅怎么做才能又嫩又好吃?
石头村前进中路四桥在什么地方啊,我要过去处
下图为世界某区域沿40°N的地形剖面图。读图
推荐资讯
银川如何办理天然气入户?
张卫健,演隋唐英雄传演了几部?
胡胖子牛肉面我想知道这个在什么地方
盐水喝多了胖了怎么办
寻求一个类似打砖块的游戏
有一种“生物活性绷带”的原理是先让细胞在特
为什么我的qq安全中心显示在外地登陆
交通驾校(台州温岭)地址有知道的么?有点事想
成武友情宾馆地址在什么地方,想过去办事
李记全羊汤涮肉坊这个地址在什么地方,我要处
判断慢性肺心病心力衰竭,在下列各项中最有意
张家港市妙桥东帆针织制衣厂地址有知道的么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?