oracle

十年的臨邑網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整臨邑建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯公司從事“臨邑網站設計”,“臨邑網站推廣”以來,每個客戶項目都認真落實執行。
跟ms不一樣。
要返回表的記錄數據,只能通過游標,或者自定義對象數組在存儲過程中組裝好后返回。
create or replace procedure TTT(
p_cur out cursor_type.c_type,
p_st_time in date,
p_end_time in date
)
as
。。。
定義一個OUT參數即可。后面調用 需要先定義一個相應類型的變量,然后才能獲取到存儲過程返回的值。一般可以返回游標,如例子中的,或者執行結果之類的。
如果只返回一個單行值,建議用函數吧。
這個存儲過程你可以在TEST的環境下查看結果,不過你需要隱式游標來進行操作,那樣才能看到,具體步驟如下:
1、首先我們要借助游標,因此需要先定義一個返回類型的游標
create or replace package type_difinition
as
type mycursor is ref cursor;
end type_difinition;
2、改寫你的存儲過程,要想查看執行SQL后結果需要一個返回參數,這個參數即上面定義的游標
類型
create or replace procedure select_pro(
p_result out type_difinition.mycursor -- 返回結果
)
is
syn_sql varchar2(200) default '';
begin
syn_sql := 'select * from emp';
-- 此處打開游標,并把需執行的SQL賦值給游標
open p_result for syn_sql;
end select_pro;
3、執行編譯通過后,右鍵點擊存儲過程的名字,跳出框,選擇Test一項,進入Test界面
4、點擊編譯、再點擊執行
5、Test界面的底部界面,有個Variable Type value的列表,此時你可以點擊Value值里面的
... 按鈕,即可查看結果,由于不怎么會應用這個編輯器,本想把圖片上傳給你,如有不解,再詳問,希望回答對樓主有幫助
第一個問題
:
oracle沒有inser
into
表
存儲過程
的語句格式,所以這個需要你根據實際要求換種思路做吧。
第二個問題:
sqlserver
:'a'+char(10)+'b'
oracle:'a'
||
chr(10)
||
'b'
sqlserver中的
char函數
在oracle中是chr,參數和
返回值
是一樣的。
返回cursor的話,那么必須要cursor的手段來處理,不能作為查詢語句的目的表。
如果需要在函數返回一個可以供查詢語句使用的結果集,那么該函數的返回類型應該定義為一個索引表類型(一個table類型),然后在查詢語句中使用table函數將函數返回的索引表轉換成查詢可以使用的目的表。示例如下:
1. 創建返回索引表所需的類型
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. 創建函數
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. 調用函數
select s.*
from table(fn_return_tb()) s;
Oracle中函數/過程返回結果集的幾種方式
原文 Oracle中函數/過程返回結果集的幾種方式
Oracle中函數/過程返回結果集的幾種方式:
以函數return為例,存儲過程只需改為out參數即可,在oracle 10g測試通過.
(1) 返回游標:
return的類型為:SYS_REFCURSOR
之后在IS里面定義變量:curr SYS_REFCURSOR;
最后在函數體中寫:
open cur for
select ......;
return cur;
網站標題:oracle怎么返回 oracle怎么返回上一步操作
網頁鏈接:http://www.yijiale78.com/article48/hihhep.html
成都網站建設公司_創新互聯,為您提供全網營銷推廣、手機網站建設、自適應網站、App開發、網站內鏈、動態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯