Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1184462
  • 博文数量: 398
  • 博客积分: 10110
  • 博客等级: 上将
  • 技术积分: 4055
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-23 20:01
个人简介

新博客http://www.cnblogs.com/zhjh256 欢迎访问

文章分类

全部博文(398)

文章存档

2012年(1)

2011年(41)

2010年(16)

2009年(98)

2008年(142)

2007年(100)

我的朋友

分类: Oracle

2007-12-25 13:39:58

-- Description  : Creates a function to produce a virtual pivot table with the specific values.
-- Requirements : CREATE TYPE, CREATE PROCEDURE
-- Call Syntax  : @get_pivot.sql
CREATE OR REPLACE TYPE t_pivot AS TABLE OF NUMBER;
/
CREATE OR REPLACE FUNCTION get_pivot(p_max   IN  NUMBER,
                                     p_step  IN  NUMBER DEFAULT 1)
  RETURN t_pivot AS
  l_pivot t_pivot := t_pivot();
BEGIN
  FOR i IN 0 .. TRUNC(p_max/p_step) LOOP
    l_pivot.extend;
    l_pivot(l_pivot.last) := 1 + (i * p_step);
  END LOOP;
  RETURN l_pivot;
END;
/
SHOW ERRORS
SELECT column_value
FROM   TABLE(get_pivot(17,2));
                           
阅读(385) | 评论(0) | 转发(0) |
0

上一篇:DDL触发器

下一篇:重建表的DDL语句

给主人留下些什么吧!~~