青莲地心火 2015-02-04 13:26 采纳率: 0%
浏览 1957

使用oracle带参数游标问题

GOODS 商品表图片说明

已有数据:
图片说明

CATEGORY表图片说明

已有数据图片说明

PL/SQL 代码:
DECLARE
V_GOODS GOODS%ROWTYPE; --存放商品表记录
V_CATEGORYID CHAR(32); --商品类别ID
/*根据指定商品类别ID查询出该类别下商品价格最低的商品记录*/
CURSOR CUR_GOODS(CATEGORYID VARCHAR) IS SELECT * FROM
(SELECT * FROM GOODS G WHERE G.CATEGORYID=CATEGORYID ORDER BY G.PRICE ASC)
WHERE ROWNUM<2;
BEGIN
V_CATEGORYID:='3f3a26cc227048a2b703de4b7581amkd';
OPEN CUR_GOODS(V_CATEGORYID);
FETCH CUR_GOODS INTO V_GOODS;
IF CUR_GOODS%FOUND THEN
dbms_output.put_line(V_GOODS.GOODSNAME||','||V_GOODS.PRICE||','||V_GOODS.CATEGORYID);
END IF;
CLOSE CUR_GOODS;
END;

个人觉得应输出:Galaxy s4,4000.25,3f3a26cc227048a2b703de4b7581amkd
实际输出:李宁运动服,250.36,3f3a26cc227048a2b703de4b7581dmku
为什么呢?
在你们的电脑里测试会输出什么呢?

  • 写回答

1条回答

  • danielinbiti 2015-02-04 14:15
    关注

    CATEGORYID变量名与字段名一直,不认为是变量名,改一下变量名吧

     SELECT * FROM GOODS G WHERE G.CATEGORYID=CATEGORYID  
    
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制