結果集存儲
你查詢到的結果返回的是DataTable或者是DataSet將其進行循環,將其中的行(Row)添加到List泛型集合中即可
2. 如果存儲過程返回多個結果集,怎麼取結果
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
3. sql server 存儲過程返回結果集存入臨時表
insert into ##tempgetmonthNG1 select .......
union
select .......
union
select .......
union
select .......
union
select .......
select * from ##tempgetmonthNG1
以上,希望對你有所幫助!
4. 求一java方法 把查詢結果集用數組存儲
是MAP表嗎?先用Iterator遍歷,然後寫入數組就可以了。
5. 我想查詢存儲過程裡面最後的結果集怎樣查
定義一個內嵌表值函數返回一張表,然後就可以了。
需要注意的是:因為使用了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
6. sql server存儲過程如何輸出結果集
sql server存儲過程 輸出結果集 還是比較簡單的.
直接在 存儲過程裡面執行 SQL 語句就可以了。
例如:
-- 測試返回結果集的存儲過程
CREATE PROCEDURE testProc
AS
BEGIN
SELECT 'Hello 1' AS A, 'World 1' AS B UNION ALL
SELECT 'Hello 2' AS A, 'World 2' AS B;
END
go
剩下的, 就是你用 別的開發語言, 例如 C# 什麼的 , 調用這個存儲過程, 獲取結果集了。
7. 存儲過程如何把一個結果集放在一張表裡面並返回來
結果集有必要放在表裡面返回來,直接返回遊標就可以了,結果集也可以看作是張表的。
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中可以直接返回結果。
希望對你有幫助!
8. 使用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
9. sql存儲過程與結果集
直接這么寫:
INSERT INTO TABLE1(field1,field2,...)
SELECT value1,value2,... from TABLE2 WHERE ...
存儲過程最後直接寫一個select 語句,外界就可以拿到這個結果集了,不需要用OUTPUT參數
10. 結果集存放在 List<Map<String,Object>>中怎麼使用Java代碼遍歷獲取String,Object的值
先遍歷List
對於每一個Map值,要獲取String的話,就是要獲取它的key值集合,LZ可以看一下api,有這個方法的,貌似得到的結果是一個set集合,遍歷這個set集合便可以得到每一個String值,從而也可以獲取到對應的Object