這個(gè)存儲(chǔ)過程你可以在TEST的環(huán)境下查看結(jié)果,不過你需要隱式游標(biāo)來進(jìn)行操作,那樣才能看到,具體步驟如下:

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),皇姑企業(yè)網(wǎng)站建設(shè),皇姑品牌網(wǎng)站建設(shè),網(wǎng)站定制,皇姑網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,皇姑網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
1、首先我們要借助游標(biāo),因此需要先定義一個(gè)返回類型的游標(biāo)
create or replace package type_difinition
as
type mycursor is ref cursor;
end type_difinition;
2、改寫你的存儲(chǔ)過程,要想查看執(zhí)行SQL后結(jié)果需要一個(gè)返回參數(shù),這個(gè)參數(shù)即上面定義的游標(biāo)
類型
create or replace procedure select_pro(
p_result out type_difinition.mycursor -- 返回結(jié)果
)
is
syn_sql varchar2(200) default '';
begin
syn_sql := 'select * from emp';
-- 此處打開游標(biāo),并把需執(zhí)行的SQL賦值給游標(biāo)
open p_result for syn_sql;
end select_pro;
3、執(zhí)行編譯通過后,右鍵點(diǎn)擊存儲(chǔ)過程的名字,跳出框,選擇Test一項(xiàng),進(jìn)入Test界面
4、點(diǎn)擊編譯、再點(diǎn)擊執(zhí)行
5、Test界面的底部界面,有個(gè)Variable Type value的列表,此時(shí)你可以點(diǎn)擊Value值里面的
... 按鈕,即可查看結(jié)果,由于不怎么會(huì)應(yīng)用這個(gè)編輯器,本想把圖片上傳給你,如有不解,再詳問,希望回答對(duì)樓主有幫助
Oracle中函數(shù)/過程返回結(jié)果集的幾種方式
原文 Oracle中函數(shù)/過程返回結(jié)果集的幾種方式
Oracle中函數(shù)/過程返回結(jié)果集的幾種方式:
以函數(shù)return為例,存儲(chǔ)過程只需改為out參數(shù)即可,在oracle 10g測(cè)試通過.
(1) 返回游標(biāo):
return的類型為:SYS_REFCURSOR
之后在IS里面定義變量:curr SYS_REFCURSOR;
最后在函數(shù)體中寫:
open cur for
select ......;
return cur;
返回cursor的話,那么必須要cursor的手段來處理,不能作為查詢語句的目的表。
如果需要在函數(shù)返回一個(gè)可以供查詢語句使用的結(jié)果集,那么該函數(shù)的返回類型應(yīng)該定義為一個(gè)索引表類型(一個(gè)table類型),然后在查詢語句中使用table函數(shù)將函數(shù)返回的索引表轉(zhuǎn)換成查詢可以使用的目的表。示例如下:
1. 創(chuàng)建返回索引表所需的類型
create or replace type type_rec is object (idx integer, user_name varchar2(50));
create or replace type type_tb is table of type_rec;
2. 創(chuàng)建函數(shù)
create or replace function fn_return_tb
return type_tb
is
o_tb type_tb := type_tb();
i number := 0;
begin
for v_rec in (select 1 as idx, 'Andy' as user_name from dual
union select 2, 'Jack' from dual
union select 3, 'Paul' from dual) loop
o_tb.extend;
i := i + 1;
o_tb(i) := type_rec (v_rec.idx, v_rec.user_name);
end loop;
return o_tb;
end fn_return_tb;
3. 調(diào)用函數(shù)
select s.*
from table(fn_return_tb()) s;
create or replace procedure TTT(
p_cur out cursor_type.c_type,
p_st_time in date,
p_end_time in date
)
as
。。。
定義一個(gè)OUT參數(shù)即可。后面調(diào)用 需要先定義一個(gè)相應(yīng)類型的變量,然后才能獲取到存儲(chǔ)過程返回的值。一般可以返回游標(biāo),如例子中的,或者執(zhí)行結(jié)果之類的。
如果只返回一個(gè)單行值,建議用函數(shù)吧。
第一個(gè)問題
:
oracle沒有inser
into
表
存儲(chǔ)過程
的語句格式,所以這個(gè)需要你根據(jù)實(shí)際要求換種思路做吧。
第二個(gè)問題:
sqlserver
:'a'+char(10)+'b'
oracle:'a'
||
chr(10)
||
'b'
sqlserver中的
char函數(shù)
在oracle中是chr,參數(shù)和
返回值
是一樣的。
網(wǎng)頁名稱:oracle終端怎么返回 oracle 函數(shù)返回值 列表
本文地址:http://chinadenli.net/article12/hpiidc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、定制開發(fā)、微信小程序、商城網(wǎng)站、建站公司、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)