结果集存储
你查询到的结果返回的是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