CREATE OR REPLACE PROCEDURE MORE_COL(col number)
col : 参数是分栏数目
现有一表 test (A,B)
有如下数据
A  B 
------
1    a
2    b
3    c
4    d
5    e
6    f
7    g
8    h
9    i
10   j
11   k
比如col = 3可以得出下面的结果(分3栏)
col1  col2  col3
  a    e     i
  b    f     j
  c    g     k
  d   h
如果是col = 4结果就是(分4栏)
col1  col2   col3   col4
  a    d      g       j
  b    e      h       k
  c    f      i上面结果是这样得来的,要求按第一栏排列完成后,排列第二栏,再排列第三栏如:上面有11条记录,那么可以分成11/3行, 如果不能整除则加1表示是有多少行记录
上例子则是10/3+1 = 4 行请问程储过程怎么写
谢谢!!

解决方案 »

  1.   

    1、将记录数取出来放在一变量count里
    2、(count-1)/col +1 就是行数row
    3、for i=1 to row
          for j=1 to col
            if i+row*(j-1)<=count
             colj=B where A=i+row*(j-1) 
            endif
    只是一个思路,具体的代码还要楼主自己去写了
      

  2.   

    http://community.csdn.net/Expert/topic/4136/4136141.xml?temp=.3296778
    看 bzszp(SongZip) 2005-7-11 16:40:29  的解答 和 duanzilin(寻) 2005-7-12 19:53:22 的解答。duanzilin(寻)的解答不错。