sql – 如何在另一个内部使用存储过程的结果?

前端之家收集整理的这篇文章主要介绍了sql – 如何在另一个内部使用存储过程的结果?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个存储过程,我想从另一个内部调用,然后循环结果.有点像使用带有存储过程的游标而不是sql select语句.我无法弄明白该怎么做.

我可以像这样得到整个结果:

@H_403_4@DECLARE @result int; EXEC @result = sp_who; PRINT @result;

有趣的是,这似乎将@result的类型改为int以外的东西,但无论如何.然后,我如何逐行循环结果?如何访问各列的数据?例如,我如何杀死第四列(loginname)就像’%gatesb’或其他什么的进程?

解决方法

您将声明一个表变量来保存存储过程的结果,然后在while循环中循环它们: @H_403_4@declare @temp table ( idx int identity(1,1),field1 int,field2 varchar(max)) declare @result int insert into @temp (field1,field2) exec @result = sp_who declare @counter int set @counter = 1 while @counter < (select max(idx) from @temp) begin -- do what you want with the rows here set @counter = @counter + 1 end
原文链接:https://www.f2er.com/mssql/78759.html

猜你在找的MsSQL相关文章