簡體   English   中英

使用odp.net和pl / sql存儲過程從oracle表檢索數據的最佳方法是什么?

[英]What is the best way to retrieve data from an oracle table using odp.net and pl/sql stored procedures?

我需要使用pl / sql存儲過程和odp.net從oracle表中檢索數據。 這樣做的標准方法是什么?

PL / SQL能夠使用基本為指針的Ref Cursors返回數據集。 這是一個簡單的函數,可根據部門返回員工子集:

SQL> create or replace function get_emps_by_dept (dno number)
  2      return sys_refcursor
  3  is
  4      rc sys_refcursor;
  5  begin
  6      open rc for select * from emp where deptno = dno;
  7      return rc;
  8  end;
  9  /

Function created.

SQL>

這是SQL * Plus中in的工作方式:

SQL> var rc refcursor
SQL> exec :rc := get_emps_by_dept(50)

PL/SQL procedure successfully completed.

SQL> print rc

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      8085 TRICHLER   PLUMBER         8061 08-APR-10       3500                    50
      8060 VERREYNNE  PLUMBER         8061 08-APR-08       4000                    50
      8061 FEUERSTEIN PLUMBER         7839 27-FEB-10       4500                    50
      8100 PODER      PLUMBER         8061                 3750                    50

SQL> 

關於.Net,在Oracle.DataAccess.Types中有一個OracleRefCursor類。 需要一定數量的管道,但是出色的Mark A Williams在該主題上寫了一篇不錯的文章,您可以在OTN網站上找到該文章

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM