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;这段代码怎么改
oracle 数组长度
答案:2 悬赏:20 手机版
解决时间 2021-02-08 07:20
- 提问者网友:遮云壑
- 2021-02-08 03:42
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-02-08 05:17
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
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
全部回答
- 1楼网友:玩家
- 2021-02-08 05:57
给你个思路,把数组写在程序里(也就是你用的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 ,得到你需要的数据集合
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯