Oracle定義包和過程,返回結果集

2021-08-22 17:15:19 字數 1017 閱讀 9848

create or replace package pk_wt

istype mytype is ref cursor;--定義乙個變數

procedure p_wt(mycs out mytype); --宣告乙個過程

end;

create or replace package body pk_wt

isprocedure p_wt(mycs out mytype)

--定義乙個儲存過程

isbegin

--begin end,pascal 風格的語句

open mycs for select a,b from abc; --得到乙個select 的語句結果,用乙個游標來定位,類似乙個指標

end p_wt;

end pk_wt;

當我看見這兩段sql,突然恍然大悟,這不正是c++物件導向的結構嗎?如同在c++中,第一段在class中宣告成員函式和變數。第二段定義成員變數的函式體。查了一下資料,發現oracle的pl/sql正是物件導向的。

以下是在c#中使用前面的過程:

oraclecommand cmd =

new oraclecommand("pk_wt.p_wt", conn);

cmd.commandtype =

commandtype.storedprocedure;

oracleparameter p1 =

new oracleparameter("mycs", oracletype.cursor);

p1.direction = system.data.

parameterdirection.output;

cmd.parameters.add(p1);

oracledatareader da = cmd.executereader();

list

<

string> st = new

list

();while (da.read())

da.close();

Oracle定義包和過程,返回結果集(物件導向)

create or replace package pk wt istype mytype is ref cursor 定義乙個變數 procedure p wt mycs out mytype 宣告乙個過程 end create or replace package body pk wt ispr...

通過游標讀取oracle儲存過程返回的結果集

public jhskyzgtkrequest gettsthsdate st conn.preparecall proc st.registeroutparameter 1,oracle.jdbc.oracletypes.cursor st.execute stringbuffer sb new ...

Oracle 函式function之返回結果集

可以按照最後的寫。工作中常需要經過一段複雜邏輯處理後,得出的乙個結果集。並能夠將這個結果集作為乙個表看待,去進行關聯查詢 我一般採用建立函式function的方式來處理。建立包,宣告function和type create orreplace package pak tem astype date ...