查看: 227|回复: 3

[PL/SQL] 如何根据查询出来的值属性设定数组类型?

[复制链接]
论坛徽章:
1
优秀写手
日期:2014-10-28 06:00:13
发表于 2020-9-16 17:51 | 显示全部楼层 |阅读模式
请问 ,我在PLSQL 里面 定义了一个游标。
我想把游标查出来的数据 保存一行到  数组里面。
这样方便我逐行比对。请问
如何才能快速的定义数组类型呢?  就是根据select的查询的每个字段类型来定义数组?

或者是否有更好的方式?谢谢!
论坛徽章:
527
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2020-9-16 21:06 | 显示全部楼层
首先,数组中的每个元素的数据类型必须是一致的。
你说的是”保存一行“,那么你的意思就是要把这”一行“的每个列变成一个数组元素,放在数组里面?那么除非你把所有的列都转换成字符串才有可能。
举出一个例子说明你为什么要这么做。很 有可能你搞错了用力方向。

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2014-10-28 06:00:13
 楼主| 发表于 2020-9-16 22:38 | 显示全部楼层
newkid 发表于 2020-9-16 21:06
首先,数组中的每个元素的数据类型必须是一致的。你说的是”保存一行“,那么你的意思就是要把这”一行“的 ...

大神,是这样的。
比如员工A 一天打了10条 (10行) 考勤,员工B 打了20行考勤。
有些考勤是重复的,有些是正常的,
那么我就要逐行判断,首先我要保存A员工的第一行,然后判断这一行考勤是否是上班打卡,属不属于迟到,
然后我还要用第二行和第一行进行比对,因为第二行打卡时间可能早于第一行,如果早于第一行,我就要取第二行的打卡时间作为第当天首次打卡数据,然后保存第二行考勤数据,再用第三行和第二行比对。

当发现本行员工的姓名和上一行不一致的时候,表示换员工了,我就要重新开始B 员工的比对。

使用道具 举报

回复
论坛徽章:
527
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2020-9-17 01:48 | 显示全部楼层
yaksha1 发表于 2020-9-16 22:38
大神,是这样的。比如员工A 一天打了10条 (10行) 考勤,员工B 打了20行考勤。有些考勤是重复的,有些是正常 ...

那跟你说的”数组“又有什么关系呢?你如果要存一行数据,就用一个 %ROWTYPE 记录变量不就行了?
另外,你的SQL就可以按时间排序,不会存在第二行更早打卡这种情况。

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表