当前位置: 代码迷 >> Oracle管理 >> 存储过程MYRESULT回到 2,而一般查询返回1,何故
  详细解决方案

存储过程MYRESULT回到 2,而一般查询返回1,何故

热度:239   发布时间:2016-04-24 04:04:10.0
存储过程MYRESULT返回 2,而一般查询返回1,何故?
存储过程里面debug跟踪:
    SELECT COUNT(*) 
      INTO myresult   --跟踪状态下为2
      FROM YHJ_VIP_CONPON M 
     WHERE (TRIM(M.MEMBER_CODE) = MEMBER_CODE 
           AND M.SERIAL_NO=mySERIAL_NO 
           AND FREEZED='0') ; 

普通查询:
    SELECT COUNT(*) 
   --   INTO myresult  --直接显示为1,请问还有什么
      FROM YHJ_VIP_CONPON M 
     WHERE TRIM(M.MEMBER_CODE) = '01XXXXX' 
           AND M.SERIAL_NO='3333333' 
           AND FREEZED='0' ; 

跟踪状态下,二者的查询条件是一样的。
存储过程MYRESULT返回 2,而一般查询返回1,何故?
------解决思路----------------------
MEMBER_CODE 是变量吗?改个名字试试
------解决思路----------------------
楼上说的对,如果一个语句中,使用一个变量,恰好又有一个同名的列名,会以列名为准。
  相关解决方案