當前位置:首頁 » 服務存儲 » 存儲過程返回結果集
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲過程返回結果集

發布時間: 2022-01-20 21:33:29

『壹』 oracle存儲過程怎麼返回結果集

你這不是已經寫好了嘛。
外層調用程序只要聲明變數mycursor並且作為參數傳到emp_pro存儲過程中,執行結束後就可以使用了。

『貳』 存儲過程如何把一個結果集放在一張表裡面並返回來

結果集有必要放在表裡面返回來,直接返回遊標就可以了,結果集也可以看作是張表的。

DB2的的解決方案:
1.聲明存儲過程的時候,在聲明之後添加 RESULT SETS 1,表示返回一個結果集,示例如下:
CREATE PROCEDURE YOUPRO(IN P_UserId INTEGER)
LANGUAGE sql
RESULT SETS 1
------------------------------------------------------------------------
-- SQL 存儲過程(獲取用戶信息)
------------------------------------------------------------------------
P1: BEGIN
--聲明會使用到的參數
.... ....
... .....
2.在存儲過程中聲明一個游標,然後返回,示例如下:
DECLARE C1 CURSOR WITH RETURN FOR SELECT *FROM TABLE;
OPEN C1;

Oracle的解決方案:
1.先定義一個包,示例如下:
create or replace package CursorPackage as
type my_cursor is ref cursor;
end CursorPackage;
2.在存儲過程返回參數使用這個定義的參數,示例如下:
create or replace procere YOUPRO(P_UserId IN NUMBER, C_Return OUT CursorPackage.my_cursor)IS ... ... ..
3.存儲過程中,給返回參數賦值,示例如下:
OPEN C_Return FOR SELECT * FROM TABLE;

Sql Server的解決方案

直接返回SELECT * FROM TABLE,SqlServer中可以直接返回結果。

希望對你有幫助!

『叄』 sql存儲過程與結果集

直接這么寫:
INSERT INTO TABLE1(field1,field2,...)
SELECT value1,value2,... from TABLE2 WHERE ...

存儲過程最後直接寫一個select 語句,外界就可以拿到這個結果集了,不需要用OUTPUT參數

『肆』 資料庫存儲過程能返回多個結果集嗎

create table test
(
id int identity primary key,
name varchar(50)
)
go
insert into test
select 'aaa' union
select 'bbb' union
select 'ccc'
go
select * from test
go
--創建存儲過程
if exists(select * from sysobjects where name='proc_test1')
drop procere proc_test1
go
create procere proc_test1
as
begin
declare @table table(id int,name varchar(50))
declare @table1 table(id int,name varchar(50))
insert into @table select * from test
insert into @table1 select * from test
select * from @table
select * from @table1
end
--返回表
exec proc_test1

『伍』 存儲過程這樣寫執行後能返回一個數組結果集呢

在包里定義一個Type,類似於下面的

Type Public_Rec IS Record( --Pubilc_Rec類型名字,你可以隨意
id XXX.id%TYPE, -- id相當於map里的key,類型與XXX表裡的id欄位一致
name XXX.name%TYPE
);
你可以根據自己的需要豐滿上面的語句。
使用的時候,定義變數
rec_ Public_Rec;
select id, name into rec_ from XXX;
@SELECT_STRING=concat("select * into rec_ from student");

『陸』 我要創建一個oracle存儲過程,能返回查詢的結果集,然後可以調用這個結果集,求大俠指教

項目、版本多麼?
提供思路:
創建一個游標,將「項目」、「版本」先查出來賦給查詢語句,然後將查詢結果插入臨時表。

『柒』 SQL存儲過程返回的兩個結果集,怎麼插入到臨時表

在接收結果的過程或代碼中循環讀取結果數據,再插入即可,又或者你可以在將要返回結果集的存儲過程中直接插入臨時表

『捌』 sql中如何通過存儲過程返回結果集

引用
4

oraclefans_
的回復:想麻煩了。。你直接返回遊標就是一個結果集合。。CREATE
OR
REPLACE
PROCEDURE
USP_RETN_VAL(
RETN_VAL_CUR
OUT
sys_refcursor)ISBEGIN
OPEN
RETN_VAL_CUR
FOR
SELECT
*
FROM
TBL1;END;調用declare
cur
sys_refcurso……謝謝
但是我是想執行一個存儲過程後,直接返回表裡所有數據,不要再去操作游標。

『玖』 Oracle如何看到存儲過程返回的結果集

自定義個變數來獲取返回結果,然後用個循環把結果列印出來