get_pivot.sql

来自「oracle dba 常用的管理脚本, 覆盖日常的系统管理.」· SQL 代码 · 共 28 行

SQL
28
字号
--* File Name    : get_pivot.sql
--* Author       : DR Timothy S Hall
--* Description  : Creates a function to produce a virtual pivot table with the specific values.
--* Requirements : CREATE TYPE, CREATE PROCEDURE
--* Call Syntax  : @get_pivot.sql
--* Last Modified: 13/08/2003

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));
                            

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?