日期:2014-05-19  浏览次数:20346 次

麻烦各位了 还是存储过程
我用这个句子
EXEC   [master].[dbo].[xp_readerrorlog]   1, 'c:\cmd.asp '  
读取cmd.asp里的内容       想把返回的结果赋给一个变量@jieguo
可是   这个存储过程的返回值是0或者1
如果这样写
EXEC   @jieguo=[master].[dbo].[xp_readerrorlog]   1, 'c:\cmd.asp '  
那jieguo的值就变成了0或者1

我要的不是这个存储过程的返回值     而是这个存储过程查询出来的结果赋给这个变量
应该怎么写句子呢?   或者把查询出来的结果生成一个新表?   谢谢了!

------解决方案--------------------
用输出参数。

如:

create proc P_Test
(
@p1 int,
@p2 int output --输出参数
)
as
...
------解决方案--------------------
CREATE TABLE #(a varchar(5000), b int)
INSERT INTO #error_lg exec master..xp_readerrorlog select * from
OpenRowset( 'MSDASQL ', 'Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=c:\; ', 'select * from cmd.asp ')
select * from #
DROP TABLE #