hurry up:oracle 游标变量与record之间的匹配

Mr_joy 2013-01-17 02:28:27
我创建了一个如下的存储过程:
create or replace procedure myProcedure(std_id in varchar2)
is
/*type mark_record is RECORD
(
mark_sno SC.SNO%TYPE,
mark_cno SC.CNO%TYPE,
mark_score SC.SCORE%TYPE
);*/
mark_record SC%ROWTYPE;
type sc_cursor is ref cursor;
my_cursor sc_cursor;
total_mark number;
avg_mark number;
max_mark number;
min_mark number;
begin
open my_cursor for select sno,cno,score from SC where sno=std_id;
fetch my_cursor into mark_record;
close my_cursor;
end;
这样是正确的,但如果把mark_record换成/*..*/的内容发生错误。错误如下:
Warning: 执行完毕, 但带有警告
17/22 PLS-00321: 赋值语句左边的表达式 'MARK_RECORD' 不正确
17/1 PL/SQL: SQL Statement ignored

让我费解的是record内容明明就一样啊,也符合fetch into后面的类型一一对应啊,怎么就编译不成功呢?

再者 如果我只想取表的某些字段,那我又要再怎么定义这个record让它能跟游标导出的数据相匹配呢?

最后恳请大神们踊跃回答,谢谢。
...全文
615 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
foolish_cc1986 2013-01-18
  • 打赏
  • 举报
回复
引用 2 楼 Mr_joy 的回复:
引用 1 楼 foolish_cc1986 的回复:SQL code?12345678910111213141516171819create or replace procedure myProcedure(std_id in varchar2) is type mark_record_type is RECORD( mark_sno SC.SNO%TYPE,……
是呀。。。这只是定义一个符合变量类型而已。。并不是定义变量的
Mr_joy 2013-01-17
  • 打赏
  • 举报
回复
引用 1 楼 foolish_cc1986 的回复:
SQL code?12345678910111213141516171819create or replace procedure myProcedure(std_id in varchar2) is type mark_record_type is RECORD( mark_sno SC.SNO%TYPE, mark_cno SC.CNO%TYPE……
我晕,难道说type sth is record(...)只是定义了一种类型,而不是可以使用的变量... 谢谢了。。。
foolish_cc1986 2013-01-17
  • 打赏
  • 举报
回复

create or replace procedure myProcedure(std_id in varchar2) is
  type mark_record_type is RECORD(
    mark_sno   SC.SNO%TYPE,
    mark_cno   SC.CNO%TYPE,
    mark_score SC.SCORE%TYPE);
  mark_record mark_record_type;
  type sc_cursor is ref cursor;
  my_cursor  sc_cursor;
  total_mark number;
  avg_mark   number;
  max_mark   number;
  min_mark   number;
begin
  open my_cursor for
    select sno, cno, score from SC where sno = std_id;
  fetch my_cursor
    into mark_record;
  close my_cursor;
end;
测试了下这样子么问题。
内容概要:LTK8319是一款单通道H桥有刷直流电机驱动器,工作电压范围为2.5V至12V,支持最高3.9A的峰值电流和2.5A的平均电流驱动能力,适用于小家电、玩具、电子锁、机器人等小型电动设备。该芯片通过两个逻辑输入(INA和INB)控制电机的正转、反转、停止与刹车,并支持PWM调速控制。集成欠压锁定(UVLO)、过温保护(TSD)及自动故障恢复功能,确保系统安全可靠运行。当INA和INB持续为低电平时,芯片进入低功耗休眠模式,显著降低静态功耗。采用ESOP-8封装,符合环保无铅标准。; 适合人群:电子工程师、嵌入式系统开发者、电机控制技术人员,以及从事小型机电产品研发的设计人员;具备基本电路知识和电机控制经验者更佳。; 使用场景及目标:①用于驱动小型有刷直流电机或步进电机的一个绕组,实现精确的方向与速度控制;②适用于电池供电设备中对功耗敏感的应用,利用休眠模式延长续航时间;③在电机启停频繁、负载波动大的场合,发挥其电流控制与保护机制优势,提升系统稳定性。; 阅读建议:此文档提供了详细的电气特性、功能逻辑表、保护机制与时序参数,建议结合典型应用电路进行硬件设计,并重点关注电源去耦电容选型、散热布局及PWM频率设置(不超过100kHz),以确保系统可靠运行。
内容概要:本文研究了一种基于遗传算法(GA)与粒子群优化算法(PSO)融合的无人机三维路径规划方法,旨在解决复杂环境中无人机避障与路径优化的问题。通过构建三维空间环境模型,提出一种结合GA全局搜索能力强与PSO收敛速度快优势的混合优化策略,并利用Matlab平台完成算法仿真与路径可视化。研究不仅实现了无人机在存在多个障碍物场景下的安全、高效飞行路径规划,还对GA与PSO两种算法在路径长度、计算耗时、收敛稳定性等方面进行了对比分析,评估其性能差异,为实际应用中算法选型提供依据。; 适合人群:具备一定算法设计基础和Matlab编程能力的科研人员、自动化与人工智能方向的研究生,以及从事无人机导航、智能控制等相关领域的工程技术人员。; 使用场景及目标:①应用于城市密集建筑区、山地森林等复杂地形中的无人机自主巡检与应急救援任务;②为智能交通、地理测绘、灾害监测等需要自主路径决策的无人系统提供算法支持与仿真验证;③通过对比不同智能优化算法的表现,辅助研究人员在特定应用场景下选择最优路径规划方案。; 阅读建议:建议读者结合提供的Matlab代码进行仿真实验,调整种群规模、迭代次数、障碍物分布等参数,深入理解算法运行机制与性能表现,并可进一步拓展至动态环境更新、多无人机协同避障等更复杂的研究方向。

17,134

社区成员

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

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