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

結果集存儲

發布時間: 2022-02-25 19:08:05

sql存儲過程與結果集

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

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

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

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

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中可以直接返回結果。

希望對你有幫助!

③ 求一java方法 把查詢結果集用數組存儲

是MAP表嗎?先用Iterator遍歷,然後寫入數組就可以了。

④ 結果集存放在 List<Map<String,Object>>中怎麼使用Java代碼遍歷獲取String,Object的值

先遍歷List
對於每一個Map值,要獲取String的話,就是要獲取它的key值集合,LZ可以看一下api,有這個方法的,貌似得到的結果是一個set集合,遍歷這個set集合便可以得到每一個String值,從而也可以獲取到對應的Object

⑤ 我想查詢存儲過程裡面最後的結果集怎樣查

定義一個內嵌表值函數返回一張表,然後就可以了。
需要注意的是:因為使用了CTE所以函數返回的時候不能排序,
需要在調用函數的時候才排序,比如:
select * from wuxian_paixu(1) ORDER BY youxian DESC
具體函數如下:
Create function wuxian_paixu (@Id int)
Returns Table AS
return(
WITH Record AS
(
SELECT Id,Name,ParentId,Depth,able,youxian,lujing FROM wuxian WHERE Id=@Id
UNION ALL
SELECT a.Id Id,a.Name Name,a.ParentId ParentId,a.Depth Depth,a.able Status,a.youxian Priority,a.lujing lujing
FROM wuxian a JOIN Record b ON a.ParentId=b.Id
)
SELECT Id,Name,ParentId,Depth,able,youxian,lujing
FROM Record WHERE able=1
)
select * from wuxian_paixu(1) ORDER BY youxian DESC

⑥ 如何返回存儲過程中所有結果集

返回結果集不用Output,直接Select出來的結果集就能返回
在應用程序或網頁程序中用你調用存儲過程的這個對象像普通記錄集一個調用就好了
如果是在查詢分析器中執行,可以在下面的「網格」中直接看到返回的這個結果集

⑦ 如何將將資料庫查詢結果集存儲到List當中去

你查詢到的結果返回的是DataTable或者是DataSet將其進行循環,將其中的行(Row)添加到List泛型集合中即可

⑧ 使用SQL存儲過程返回多結果集怎麼處理

1、返回結果集

這是客戶端應用程序返回結果的最通用的方法。結果集是通過使用SELECT語句選擇數據產生的。結果集可以從永久表、臨時表或局部變數中產生。將結果返回到另一個存儲過程不是一種有效的方法。存儲過程不能訪問另一個存儲過程建立的結果集。

例如從永久表中返回結果集:
USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromPermtable
AS
SELECT au_iname FROM authors
例如從局部變數中創建結果集:

USE pubs
GO
CREATE PROCEDURE ap_CreateResultFromVariable
AS
DECLARE @au_iname char(20)
SELECT @au_iname = au_iname FROM authors
WHERE au_id = 『172-32-1176』
SELECT @au_id
GO

⑨ 存儲過程中如何使用結果集

1、子查詢
SELECT...
FROM ...
WHERE id IN (
SELECT id

FROM ...

WHERE ...

)

2、ID結果集存入臨時表,再用此表進行操作

3、針對每個結果id作復雜邏輯操作的話,使用CURSOR