http://b61.photo.store.qq.com/http_imgload.cgi?/rurl4_b=829a85b63d18d9564f44348b1db1a0246f1900dce696ce39d544b2a04d057e6dc453a9044e2b23a70112ef0d2b6263983c318e67e68e0fb16dfcf7face21dba4460f81f8f5615d67fd0ebf49123f9c67efa37b74&a=57&b=61看我这样写有问题吧,第一和第三个值,
但跟踪怎么为null

解决方案 »

  1.   

    不是在跟踪测试时候
    EXECUTE immediate ' SELECT COUNT(1) FROM SMS_SEND where smsid in (' || in_strSmsId || ')' Into t_flag ;
    in_strSmsId为null
      

  2.   

    EXECUTE immediate ' SELECT COUNT(1) FROM SMS_SEND where smsid in (' || in_strSmsId || ')' Into t_flag ;你的这个还用什么动态sql啊。。直接就是
    SELECT COUNT(1) Into t_flag FROM SMS_SEND where smsid =in_strSmsId;
    还有。。你用in 这个(' || in_strSmsId || ')'也只有一个值。
      

  3.   


     PROCEDURE GetSmsSendedInfo
       (
        in_strSmsId     in nvarchar2,  --已发送成功的smsid
        out_data        OUT C_CURSOR,  --return CURSOR
        out_code        OUT NUMBER     --return code
       )
        IS
         t_flag NUMBER(4);
         t_smsid  NUMBER;  --你定义变量的语法错误 位置错
        t_mobileno NUMBER;  
        t_smsfrom  NUMBER;   
        t_content  varchar2(600);   
        BEGIN
          out_code := SUCC_CODE;
          
          EXECUTE immediate ' SELECT COUNT(1) FROM SMS_SEND where smsid in (' || in_strSmsId || ')' Into t_flag ;      IF t_flag > 0 THEN
            OPEN out_data FOR 'SELECT smsid, mobileno, smsfrom, content
          FROM SMS_SEND
             WHERE smsid IN (1,2,3)';
          LOOP
            FETCH out_data
              INTO t_smsid, t_mobileno, t_smsfrom, t_content;
            EXIT WHEN out_data%NOTFOUND; --循环退出条件
            IF out_data%FOUND THEN
              INSERT INTO SMS_SENDED
              VALUES
                (t_smsid, t_smsid, 1, 1, SYSDATE, '', 0, t_mobileno, t_content, '000001');
            END IF;
          END LOOP;
          COMMIT;      --
          ELSE
            out_code := ERROR_DATABASE;
          END IF;
          
        EXCEPTION
        WHEN OTHERS THEN
          out_code := ERROR_DATABASE;
          ROLLBACK;
          RAISE;
        END; 完整的存储过程