日期:2014-05-18  浏览次数:20544 次

怎样得到 exec 存储过程 的结果集??
请问大家要怎样得到   exec   存储过程名   返回得到的一个结果集放在游标里循环,把结果集字符串累加

或者得到   exec   存储过程名   返回记录的数目放在一个变量里

总之就是把执行存储过程的结果放在一个变量里?

------解决方案--------------------
-- 可以参考这个例子去实现

CREATE TABLE #who (
spid SMALLINT,
ecid SMALLINT,
status VARCHAR(1024),
loginname VARCHAR(1024),
hostname VARCHAR(1024),
blk VARCHAR(10),
dbname VARCHAR(1024),
cmd VARCHAR(1024)
)

INSERT INTO #who EXEC sp_who

select * from #who
------解决方案--------------------
--建立过程
CREATE PROCEDURE protest
@i int,
@j int,
@k int OUTPUT
AS
BEGIN
select @k=@i+@j
END
---调用
DECLARE @return_value int,
@k int

EXEC @return_value = [dbo].[protest]
@i = 1,
@j = 1,
@k = @k OUTPUT

SELECT @k as N '@k '

SELECT 'Return Value ' = @return_value
------解决方案--------------------
insert into #temp exec sp_test
------解决方案--------------------
create table #tab(id int, name varchar(20))
insert into #tab exec p_text
select * from #tab