record型

[复制链接]
查看11 | 回复8 | 2007-4-25 04:02:08 | 显示全部楼层 |阅读模式
本帖最后由 guostong 于 2012-4-20 12:01 编辑
问一下,定义的

type rec_bmstd is record(
d020 NUMBER,
d011 bmstd12020.d011%TYPE,
d013 bmstd12020.d013%TYPE,
d014 bmstd12020.d014%TYPE,
d012 bmstd12020.d012%TYPE
);

如果想判断rec_bmstd 是不是空的,可不可以使用rec_bmstd %NOTFOUND方法!

回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
record好像不能判断是否为空,只能对里面的成员如果成员不是record的才可以
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
而且notfound是游标的用法,不是空,是迭代找不到数据了
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
本帖最后由 duronshi 于 2012-4-20 23:30 编辑
rec_bmstd is record.Count就是总记录数
或者
for i in rec_bmstd.first..rec_bmstd.last loop
dbms_output.put_line(to_char(rec_bmstd.d020));
end loop;

回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
duronshi 发表于 2012-4-20 23:30
rec_bmstd is record.Count就是总记录数
或者

晕,你那是集合,record就是单个记录的变量
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
RECORD不能用IS NULL, 可以自己写个函数判断所有成员是否为NULL.
但楼主的意思可能是从别的地方 FETCH 数据或者 SELECT INTO 到这个记录,这时候应该判断那个游标的NOT FOUND或者NO_DATA_FOUND异常。
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
直接判断里面的一个字段有没有值就可以了吧
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
陌上风轻 发表于 2012-4-21 20:29
直接判断里面的一个字段有没有值就可以了吧

什么意思?一个列为空整个记录就为空?如果其他列有值呢?
回复

使用道具 举报

千问 | 2007-4-25 04:02:08 | 显示全部楼层
RECORD 就是结构体
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行