
create or replace package TestPack is -- Author : ADMINISTRATOR -- Created : 2012-4-27 14:01:29 -- Purpose : 測試 type myCursor is ref cursor ; procedure TestPro( p_Cond varchar2 , p_ReCursor0 out myCursor, p_ReCount out number ); FUNCTION TestFunc( p_MaterialID varchar2 ) return varchar2 ; end TestPack; create or replace package body TestPack is procedure TestPro ( p_Cond varchar2 , p_ReCursor0 out myCursor, p_ReCount out number ) is v_MySQL varchar2 ( 8000 ); Begin v_MySQL: = ' select * from Materials where 1=1 ' ; v_MySQL: = v_MySQL || p_Cond; open p_ReCursor0 for v_MySQL; select Count ( 1 ) into p_ReCount from Materials; ENd TestPro; FUNCTION TestFunc( p_MaterialID varchar2 ) return varchar2 is Type myCursor is ref cursor ; p_ReCursor0 myCursor; p_ReturnValue varchar2 ( 8000 ); Begin select MaterialName into p_ReturnValue from Materials where MaterialID = '' || p_MaterialID || '' ; return p_ReturnValue; End TestFunc; end TestPack;
終于整明白了。
原來需要一個cursor來打開進行取數。
相比之下覺得SQL Server更人性化一點,但是估計Java更以一切皆對象這樣的理念吧。
再深入的研究還得往后放放,包括游標(當然也比較easy),臨時表(總感覺很深奧的樣子)。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
