急求:一存储过程写法(分栏写法) 总共就这么多分了

massoft 2005-07-19 10:17:00
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 行

请问程储过程怎么写
谢谢!!
...全文
132 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyixiang 2005-07-21
  • 打赏
  • 举报
回复
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(寻)的解答不错。
waterfirer 2005-07-20
  • 打赏
  • 举报
回复
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
只是一个思路,具体的代码还要楼主自己去写了

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧