求教一个关于记录类型record 的问题,谢谢

zhanghoux 2010-04-16 11:26:19
定义一个record r (a number,
b number,
.
.
n number)

程序中定义一个 变量 var 他的值是代表 a,b,c..n 中的任意一个, 想使用
loop
r.var
end loop
这样的一个想法 能不能实现?? 各位高手帮忙看看。。谢谢
...全文
99 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangren 2010-04-16
  • 打赏
  • 举报
回复
记录的字段不好循环吧;
如果是索引表,嵌套表,变长数组才可以啊。

oodick 2010-04-16
  • 打赏
  • 举报
回复
说的太模糊了
iqlife 2010-04-16
  • 打赏
  • 举报
回复
不行,RECORD是一个类型
必须在进行声明一个变量
例如
record r (a number,
b number,
.
.
n number);

var r;

取出其中一个字段B可以用VAR.B,取c用VAR.c
crazylaa 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhanghoux 的回复:]

引用 6 楼 crazylaa 的回复:
record相当于表中的一条记录,你那个loop相当于从该记录的第一个字段遍历到最后一个字段。
而字段名你在使用的时候是必须指定的,所以不能这么用。


大哥,你说的很对。其实我就是把 表中的记录放到 record a 中,然后得到 字段的一个数组 arry_col,
循环读 字段数组 arry_col 想获取该字段的值(我不想在查表)
……
[/Quote]

兄弟我被你说糊涂了。你能不能列出你的create table语句、table里面的数据,怎么搞到的那个字段的数组,准备怎么比对?
感觉你的这种需求很诡异。。。
zhanghoux 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 crazylaa 的回复:]
record相当于表中的一条记录,你那个loop相当于从该记录的第一个字段遍历到最后一个字段。
而字段名你在使用的时候是必须指定的,所以不能这么用。
[/Quote]

大哥,你说的很对。其实我就是把 表中的记录放到 record a 中,然后得到 字段的一个数组 arry_col,
循环读 字段数组 arry_col 想获取该字段的值(我不想在查表)
loop
var in arry_col
loop
a.var 变量
end loop;
end loop;
zhanghoux 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qin_phoenix 的回复:]
SQL code

TYPE T_GRBH IS RECORD(
GRBH VARCHAR2(30));
TYPE T_GRHM IS TABLE OF T_GRBH;
V_GRHM T_GRHM;
[/Quote]

什么意思???定义一个数组,循环读数组?
V_GRHM.GRBH 这样不就又是写死了,,不太明白。。
qin_phoenix 2010-04-16
  • 打赏
  • 举报
回复

TYPE T_GRBH IS RECORD(
GRBH VARCHAR2(30));
TYPE T_GRHM IS TABLE OF T_GRBH;
V_GRHM T_GRHM;

crazylaa 2010-04-16
  • 打赏
  • 举报
回复
record相当于表中的一条记录,你那个loop相当于从该记录的第一个字段遍历到最后一个字段。
而字段名你在使用的时候是必须指定的,所以不能这么用。

17,134

社区成员

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

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