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

存儲過程返回結果集

發布時間: 2022-01-23 15:49:43

sql存儲過程與結果集

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

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

Ⅱ MYSQL如何把存儲過程所返回的結果集插入到表

從存儲過程返回表類型的值也有二種:
1.存儲過程使用浮標參數,即同時指定CURSOR VARYING OUTPUT項.調用者可以使用while及fetch循環遍歷該浮標.
2.直接將存儲過程返回的結果集插入到表中,即使用insert into 表名 exec 存儲過程.此種方式中注意存儲過程返回的結果集列與insert的列要完全對應,可以在insert中指定列名來保證對應關系.
------------------------------------------------------------------------------測試:------------------------------------------------------------------------------
----建立測試用的臨時表
create table #tmp (colx int,coly int)
insert into #tmp values(1,2)
insert into #tmp values(2,3)
insert into #tmp values(3,4)
select * from #tmpGO----創建返回遊標的存儲過程
create proc sp_c @cur CURSOR VARYING OUTPUTASbeginset @cur = CURSOR for select colx from #tmp
open @cur /*該過程返回遊標,該游標為colx列的查詢結果*/endGO----創建返回表的存儲過程
create proc sp_dasselect coly from #tmp /*該過程返回coly列的查詢結果*/go----創建用於調用以上二個存儲過程的存儲過程
create proc sp_easbegindeclare @x int
declare @cur cursor
----接收游標,並遍歷游標
EXEC sp_c @cur OUTPUT
fetch next from @cur into @x
while (@@FETCH_STATUS = 0)beginprint @xfetch next from @cur into @xENDclose @curdeallocate @cur
----將存儲過程返回的列值再重新插入源表中

Ⅲ Oracle如何看到存儲過程返回的結果集

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

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

在包里定義一個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存儲過程,能返回查詢的結果集,然後可以調用這個結果集,求大俠指教

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

Ⅵ 如何對存儲過程返回的結果集進行分頁

這個在資料庫端比較好,你現在得結果集是全部的6w數據,不太好處理,不如修改下存儲過程,多增加幾個參數。增加個第幾頁,每頁顯示數目。
這樣直接在存儲過程中通過limit(mysql),或者是top直接獲取就可

Ⅶ 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中如何通過存儲過程返回結果集

引用
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……謝謝
但是我是想執行一個存儲過程後,直接返回表裡所有數據,不要再去操作游標。

熱點內容
次域名伺服器是什麼 發布:2024-09-20 23:34:08 瀏覽:596
tcp伺服器搭建windows 發布:2024-09-20 23:13:16 瀏覽:636
騰訊校招簡歷上傳 發布:2024-09-20 22:55:33 瀏覽:587
vba與資料庫連接 發布:2024-09-20 22:55:24 瀏覽:323
網易版我的世界電腦版伺服器推薦 發布:2024-09-20 22:55:23 瀏覽:697
中興伺服器管理口地址配置 發布:2024-09-20 22:50:22 瀏覽:118
域名指定伺服器ip 發布:2024-09-20 22:26:43 瀏覽:673
jsp系統源碼下載 發布:2024-09-20 22:22:22 瀏覽:866
怎麼給雲伺服器套盾 發布:2024-09-20 22:06:21 瀏覽:8
我的世界建築大師設計伺服器 發布:2024-09-20 22:05:37 瀏覽:151