我写了一个ORACLE的存储过程
里面定义了一个Code变量`
问一下如何判断这个变量里面的最大值  IF Code THEN   ---这里怎么写呢
        INSERT INTO T_TEMP_ReportTempData
        (COLUMN1,COLUMN2,COLUMN3,COLUMN4,COLUMN5,COLUMN6,COLUMN7,COLUMN8,COLUMN9,COLUMN10,VALUEDATA)
  VALUES('合计','总',kindid,kindname,totalmoney,totalWater,strcostYear,strcostMonth,'','','');
       END IF;
   
我的想法是当循环到code 里面最大值的时候`开始插入数据```

解决方案 »

  1.   

    lz发了2个重复的T你可以定义一个中间变量,如currentMax=0; 
    循环code,如果code>currentMax 
    currentMax=code; kindid,kindname,totalmoney,totalWater,strcostYear,strcostMonth赋上相应的值 
    一直到最后,循环结束 
    插入数据
      

  2.   

    例如Code中有(1,2,3),我循环这个code 
    然后我想做个判断`
    取code最大的值3时~
    插入数据`````````````这样明白了吧`
      

  3.   

    可以先对code的值做一次循环,就能得到其中的最大值,保存在一个变量中。然后在你的那个if中判断code的值是否=上述变量的值,是的话就插入。
      

  4.   

    可以这样做:
    设一个变量temp,将code的第一个值赋给它,然后做一次循环,如果当前值大于temp,则将值赋给temp,这样得出的temp值就是最大的,
    然后在做一次循环,当值==temp时就执行存储过程。不过子认为这样的方法效率比较低,期待更好的方法。