當前位置:首頁 » 存儲配置 » plsql存儲過程返回結果集

plsql存儲過程返回結果集

發布時間: 2022-06-08 23:28:56

㈠ oracle 函數與存儲過程返回結果集

(一)存儲過程(例:a表(欄位有ano,aname,aage))

createorreplaceproceretest

as

begin

cursorcursor_testisselect*froma;

row_testa%rowtype;

begin

forrow_testincursor_testloop

dbms_output.put_line(row_test.ano||row_test.aname||row_test.aage);

endloop;

endtest;

調用方法:

(1)EXECtest;

(2)begin

test;

end;

/

㈡ 如何在plsql中執行查詢存儲過程

PLSQL Developer 可以點測試,輸入執行後,會有個輸出的游標,你點開那個游標就可以看到結果集了.

㈢ plsql如何調用返回結果集的存儲過程

先定義包規范:
createorreplacepackage_pkgas
typet_RetSetisREFCURSOR;
proceretest_proc(Condition1varchar2,Condition2varchar2,Condition3varchar2,Condition4varchar2,r_Cursoroutt_RetSet,statusoutint);
end_pkg;
包體創建
createorreplacepackagebody_pkgis
proceretest_proc(Condition1varchar2,Condition2varchar2,Condition3varchar2,Condition4varchar2,r_Cursoroutt_RetSet,statusoutint)as
begin
..........
end_pkg;
調用:
SQL>varcurrefcursor
SQL>varstasint
SQL>exectest(10,:cur,:stas)

PL/SQL過程已成功完成。

SQL>print:cur
SQL>print:stas

希望對你有幫助,有問題再追問吧,望採納。

㈣ oracle怎麼把存儲過程查詢出來的結果集顯示出來

create or replace procere p_cnt(
p_time in varchar2,---查詢的條件
p_cur out SYS_REFCURSOR)---游標返回

IS
v_sql varchar2(1000) :='';
v_date varchar2(20);

BEGIN
v_date := replace(p_time, '-', '');---時間的格式轉換
v_sql := 'select * from dapartment d where d.d_time ='''|| v_date||'''';
END;
OPEN p_cur FOR v_sql;

END p_cnt;

㈤ 沒有在plsql 中寫過存儲過程,報錯幫忙看哈

在存儲過程里select必須要有into,以便把select的結果集放入到變數中。
select語句後面要有分號。
end後也要有分號。

㈥ 在PlSQL中oracle匿名塊怎麼返回結果集

oracle里輸出不是print,這個和其他有點不同

給你一個,你直接運行就好
declare
i int;
j int;
begin
j:=10;
i:=1;
while i<j
loop
dbms_output.put_line(rpad(chr(32),10-i,chr(32))||rpad('*',i*2-1,'*'));
i:=i+1;
end loop;
end;

oracle 里輸出結果是用dbms_output.put_line這個方式,樓上說的是set serveroutput on是在命令行的操作下執行,用那個顯示輸出

輸出結果集需要用到游標,到時候把游標里的內容也用dbms_output.put_line循環輸出就好,如果是一個結果的話,就直接輸出結果就OK

㈦ PLSQL中如何執行帶有返回值的存儲過程

java">先定義包規范:
createorreplacepackage_pkgas
typet_RetSetisREFCURSOR;
proceretest_proc(Condition1varchar2,Condition2varchar2,Condition3varchar2,Condition4varchar2,r_Cursoroutt_RetSet,statusoutint);
end_pkg;
包體創建
createorreplacepackagebody_pkgis
proceretest_proc(Condition1varchar2,Condition2varchar2,Condition3varchar2,Condition4varchar2,r_Cursoroutt_RetSet,statusoutint)as
begin
..........
end_pkg;
調用:
SQL>varcurrefcursor
SQL>varstasint
SQL>exectest(10,:cur,:stas)

PL/SQL過程已成功完成。

SQL>print:cur
SQL>print:stas

希望對你有幫助,有問題再追問吧,望採納。

㈧ plsql中分析函數和存儲過程有什麼區別

1. 返回值的區別,函數有1個返回值,而存儲過程是通過參數返回的,可以有多個或者沒有
2.調用的區別,函數可以在查詢語句中直接調用,而存儲過程必須單獨調用.
3.函數一般情況下是用來計算並返回一個計算結果而存儲過程一般是用來完成特定的數據操作(比如修改、插入資料庫表或執行某些DDL語句等等)
4.參數的返回情況來看:
如果返回多個參數值最好使用存儲過程,如果只有一個返回值的話可以使用函數;
5.從調用情況來看:
如果在SQL語句(DML或SELECT)中調用的話一定是存儲函數或存儲的封裝函數不可以是存儲過程,但調用存儲函數的時候還有好多限制以及函數的純度等級的問題.
6.oracle函數和存儲過程最大的區別就在於,函數必須帶上一個return返回值,後面跟的是返回值的類型,而存儲過程可以不帶任何返回值。
7.另外,存儲過程和函數同樣支持in,out,in out這三種類型的參數,對應的是分別指明輸入性的參數、輸出型的參數、輸入輸出型的參數。也就是說如果我們需要返回多個值,除了可以使用存儲過程來實現之外,也可以用函數來實現,方法是你將其中一個用return來返回,其他就指明該數據為out參數就可以了。
8.Oracle中存儲過程和函數都可以返回值,但是函數必須要返回值,並一般只返回一個值,而存儲過程則沒有這個限制。從一般應用上來看,如果不需要返回值或者需要多個返回值,使用存儲過程,如果只用一個返回值,就使用函數,從一般程序員的習慣上來看,這樣更符合思維。

熱點內容
資源存儲在哪 發布:2024-05-02 04:23:28 瀏覽:169
如何猜對方qq密碼後幾位 發布:2024-05-02 03:46:59 瀏覽:403
php最後出現字元串 發布:2024-05-02 03:46:31 瀏覽:492
android源碼debug 發布:2024-05-02 03:41:13 瀏覽:437
python離線安裝包 發布:2024-05-02 03:10:42 瀏覽:920
君越配置有哪些 發布:2024-05-02 03:10:41 瀏覽:453
哪裡有java培訓 發布:2024-05-02 02:35:56 瀏覽:503
iis其他電腦訪問 發布:2024-05-02 02:22:14 瀏覽:183
ios執行python腳本 發布:2024-05-02 02:12:45 瀏覽:619
內網怎麼在公網訪問 發布:2024-05-02 02:05:26 瀏覽:250