declare @MSISDN varchar(50)
       
        set @MSISDN = ?        begin
                if (@MSISDN='')
                        set @MSISDN='%%'
                else
                        set @MSISDN='%'+ @MSISDN +'%'
        end        SELECT ID,ROLE,MSISDN,COMM_ID,OPERATION_NAME,OCCUR_TIME,STATUS,ERR_MESSAGE from ADEADMIN.T_MONITOR_MOMT WHERE MSISDN like @MSISDN and OCCUR_TIME >= (?,'YYYY-MM-DD') and OCCUR_TIME >= (?,'YYYY-MM-DD')

解决方案 »

  1.   

    不知道LZ是不是在过程中使用,ORACLE中存储过程返回数据集要使用游标和程序包来实现的
      

  2.   

    MSISDN varchar2(50);
           
    MSISDN := ?        begin
                    if (MSISDN='') then
                            MSISDN:='%%';
                    else
                            MSISDN:='%'+ MSISDN +'%';
                    end if;
            endSELECT ID,ROLE,MSISDN,COMM_ID,OPERATION_NAME,OCCUR_TIME,STATUS,ERR_MESSAGE 
      from ADEADMIN.T_MONITOR_MOMT 
     WHERE MSISDN like MSISDN 
      and OCCUR_TIME >= (?,'YYYY-MM-DD') and OCCUR_TIME >= (?,'YYYY-MM-DD')
      

  3.   

    MSISDN varchar2(50);
           
    MSISDN := ?        begin
                    if (MSISDN='') then
                            MSISDN:='%%';
                    else
                            MSISDN:='%'+ MSISDN +'%';
                    end if;
            endSELECT ID,ROLE,MSISDN,COMM_ID,OPERATION_NAME,OCCUR_TIME,STATUS,ERR_MESSAGE 
      from ADEADMIN.T_MONITOR_MOMT 
     WHERE MSISDN like MSISDN 
      and OCCUR_TIME >= (?,'YYYY-MM-DD') and OCCUR_TIME >= (?,'YYYY-MM-DD');
    前面少了个分号
      

  4.   

    oracle 中要用到cursor in package