zoukankan      html  css  js  c++  java
  • sql developer怎样调试Pipelined

    在sql developer中,如果直接对pipelined语句进行断点debug会报错,那么怎样可以解决这个问题呢?可以用procedure包住这个函数,再进行单步调试。下面是演示的demo。  
    
    *  准备pipelined
    ```
    CREATE TYPE t_tf_row AS OBJECT (
      id           NUMBER,
      description  VARCHAR2(50)
    );
    /
    
    CREATE TYPE t_tf_tab IS TABLE OF t_tf_row;
    /
    
    CREATE OR REPLACE FUNCTION get_tab_ptf (p_rows IN NUMBER) RETURN t_tf_tab PIPELINED AS
    BEGIN
      FOR i IN 1 .. p_rows LOOP
        PIPE ROW(t_tf_row(i, 'Description for ' || i));   
      END LOOP;
    
      RETURN;
    END;
    /
    ```
    * 然后用procedure包住这个get_tab_ptf函数
    ```
    CREATE OR REPLACE
    PROCEDURE test_pipeline
    IS
    BEGIN
      FOR cur_rec IN (SELECT *  FROM  TABLE(get_tab_ptf(10)))
      LOOP
        dbms_output.put_line('get one row!');
      END LOOP;
    END;
    ```
    * 接着将断点打在test_pipeline的for循环上,对这个procedure进行单步调试就可以跳转到函数get_tab_ptf 内部了。
    
    
    作者:sylarinfo
    出处:博客园sylarinfo的技术博客--http://www.cnblogs.com/sylarinfo/
    您的支持是对博主最大的鼓励,感谢您的认真阅读。
    本文如未在开头表明转载,则版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    js 与或运算符 || && 妙用(great!!!)
    type of && undefined
    全新框架?微信小程序与React Native的异同之处
    JS-十五章(15.16)
    JS-第十三章
    ValueError: zero-size array to reduction operation maximum which has no identity
    time
    模块
    day8-函数
    day7-format字符串格式化
  • 原文地址:https://www.cnblogs.com/sylarinfo/p/3482938.html
Copyright © 2011-2022 走看看