sql – 如何在另一个内部使用存储过程的结果?
发布时间:2020-12-12 06:30:38 所属栏目:MsSql教程 来源:网络整理
导读:我有一个存储过程,我想从另一个内部调用,然后循环结果.有点像使用带有存储过程的游标而不是SQL select语句.我无法弄明白该怎么做. 我可以像这样得到整个结果: DECLARE @result int;EXEC @result = sp_who;PRINT @result; 有趣的是,这似乎将@result的类型改为
我有一个存储过程,我想从另一个内部调用,然后循环结果.有点像使用带有存储过程的游标而不是SQL select语句.我无法弄明白该怎么做.
我可以像这样得到整个结果: DECLARE @result int; EXEC @result = sp_who; PRINT @result; 有趣的是,这似乎将@result的类型改为int以外的东西,但无论如何.然后,我如何逐行循环结果?如何访问各列的数据?例如,我如何杀死第四列(loginname)就像’%gatesb’或其他什么的进程? 解决方法您将声明一个表变量来保存存储过程的结果,然后在while循环中循环它们: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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- centos6.5中安装mongodb简明总结
- ms sqlserver 索引(在MSSQL 2008上试通过,2005
- 用户 'IIS APPPOOL\DefaultAppPool'
- SQLServer中的系统表,存储过程和函数的功能及应用
- SQL SERVER通过SQL语句直接把表导出为XML格式
- sqlserver中向表中插入多行数据的insert语句
- database – 本地数据库将字节数组截断引发到800
- 通过SQLServer 2008 操作 MySQL的方法
- sql-server – 可否使用SQL Server Express或Web
- linq-to-sql – 查询结果不能多??次枚举?
热点阅读