<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    This Is A FineDay

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      93 隨筆 :: 0 文章 :: 69 評論 :: 0 Trackbacks
    								
    										
    												
    														SQL
    														>
    														create?table?test
    														(
    														name?varchar2
    														(
    														4
    														),
    														text??varchar2
    														(
    														9
    														));



    SQL > create?view?test_view? as? select?text?from?test?where?name = userenv ( 'client_info' );



    SQL > insert?into?test?values ( 'zxx' , 'boy' );

    SQL > insert?into?test?values ( 'taw' , 'gril' );

    SQL > commit ;



    SQL > exec?dbms_application_info . set_client_info ( 'zxx' );

    SQL > select? *? from?test_view ;



    TEXT

    ---------

    boy

    --





    a
    create or replace type emp_type
    as object (
    empno number(4),
    ename varchar2(10)
    );
    /
    create or replace type emp_type_table as table of emp_type;
    /
    create or replace function emp_of_dept(p_deptno in number)
    return emp_type_table
    pipelined as
    l_emp_type emp_type;
    begin
    for l_myrow in (select empno, ename from emp
    where deptno = p_deptno) loop
    l_emp_type := emp_type(l_myrow.empno, l_myrow.ename);
    pipe row (l_emp_type);
    end loop;
    return;
    end emp_of_dept;
    /

    select * from table(emp_of_dept(10));
    EMPNO ENAME
    ---------- ----------
    7782 CLARK
    7839 KING
    7934 MILLER

    select * from table(emp_of_dept(30));
    EMPNO ENAME
    ---------- ----------
    7499 ALLEN
    7521 WARD
    7654 MARTIN
    7698 BLAKE
    7844 TURNER
    7900 JAMES

    Tom - what do you think about this??

    Followup:?
    I think it is alot more code then:

    create or replace?
    procedure foo( p_deptno in number, p_result_set out sys_refcursor )
    as
    begin
    open p_result_set for
    select empno, ename from emp where deptno = p_deptno;
    end;

    and having the client (which is doing Oracle stuff anyway) issue?

    begin foo( :n, :m ); end;


    It'll be less performant as well.?
    Neat "trick" but not best practice.?

    create or replace function f_test(p_num in number)
    return sys_refcursor
    is
    Result sys_refcursor;
    begin
    open Result for
    select * from t1 t where t1.c1=p_num;
    return(Result);
    exception
    when others then
    raise;
    end;

    select f_test(1) from dual;
    posted on 2008-04-20 15:00 Peter Pan 閱讀(1814) 評論(0)  編輯  收藏 所屬分類: DB
    主站蜘蛛池模板: 亚洲中文无码永久免费| 日韩亚洲国产高清免费视频| 四虎永久在线精品免费影视| 亚洲国产成a人v在线观看| 波多野结衣中文字幕免费视频 | 免费在线观看理论片| 国产精品亚洲综合网站| 国产又大又黑又粗免费视频| 美女视频免费看一区二区| 亚洲第一网站男人都懂| 国产精品免费看久久久香蕉| 国产精品亚洲mnbav网站| 中国一级特黄的片子免费| 国产亚洲人成网站观看| 免费一级毛片无毒不卡| 久久精品国产亚洲AV嫖农村妇女 | 国产情侣久久久久aⅴ免费| 亚洲色欲久久久综合网东京热| 国产精品免费大片一区二区| 中文字幕精品亚洲无线码一区| 国产高潮流白浆喷水免费A片 | 国产亚洲精品观看91在线| 最近2019中文字幕免费直播| 亚洲导航深夜福利| 日韩免费视频播放| 一级人做人a爰免费视频| 91大神亚洲影视在线| 毛片a级毛片免费播放100| 高h视频在线免费观看| 久久亚洲国产午夜精品理论片| 少妇无码一区二区三区免费| 亚洲精品123区在线观看| 亚洲成a人片在线观看久| 97超高清在线观看免费视频| 亚洲精品一区二区三区四区乱码| 黄色成人网站免费无码av| 人人爽人人爽人人片av免费| 亚洲国产美国国产综合一区二区| 成人免费毛片内射美女-百度| 美女被吸屁股免费网站| 久久精品亚洲一区二区|