『壹』 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如何看到存儲過程返回的結果集
自定義個變數來獲取返回結果,然後用個循環把結果列印出來