⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 next_in_line.sql

📁 Oracle PLSQL for DBAs 源代码
💻 SQL
字号:
CREATE TYPE next_o AS OBJECT ( summary_value NUMBER );
/
CREATE TYPE next_t AS TABLE OF next_o;
/
CREATE OR REPLACE FUNCTION next_in_line ( p_curs SYS_REFCURSOR )
                  RETURN next_t
                  PIPELINED IS

   /*
      || Demonstrate nested table functions
   */

   v_ret_val next_t := next_t( );

   -- local variables for cursor results
   v_on NUMBER;
   v_dt VARCHAR2(1);
   v_yr NUMBER;
   v_qt NUMBER;
   v_mt NUMBER;

BEGIN

  -- for all date components from the cursor...
  LOOP

    FETCH p_curs INTO v_on, v_dt, v_yr, v_qt, v_mt;
    EXIT WHEN p_curs%NOTFOUND;

    -- pipe out the sum of the components
    PIPE ROW(next_o(v_on + v_yr + v_qt + v_mt));

  END LOOP; -- every date component

 RETURN;

END;
/

SELECT *
  FROM TABLE(next_in_line(CURSOR(SELECT *
                                   FROM TABLE(date_parse(CURSOR(SELECT *
                                                                  FROM orders))))))
/

⌨️ 快捷键说明

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