Tsql 我可以使用Order by对存储过程结果进行排序吗?

Tsql 我可以使用Order by对存储过程结果进行排序吗?,tsql,stored-procedures,Tsql,Stored Procedures,简单地说,我有以下SQL语句: EXEC xp_cmdshell 'tasklist' 我们可以使用order by或where对结果进行排序或过滤吗 谢谢,不是直接的。您可以将exec插入临时表或表变量,然后对其进行排序,尽管需要先将结果输出到临时表中。这应该告诉你怎么做 我检查了jamietre链接,这是完整的答案: Create table #MyTempTable (output varchar(max)) INSERT INTO #MyTempTable EXEC xp_cmd

简单地说,我有以下SQL语句:

EXEC xp_cmdshell 'tasklist' 
我们可以使用
order by
where
对结果进行排序或过滤吗


谢谢,

不是直接的。您可以将exec插入临时表或表变量,然后对其进行排序,尽管需要先将结果输出到临时表中。这应该告诉你怎么做


我检查了jamietre链接,这是完整的答案:

Create table  #MyTempTable
(output varchar(max))

INSERT INTO #MyTempTable
EXEC xp_cmdshell 'tasklist' 

select * from #MyTempTable where output like 'ie%' order by output 

感谢大家……

在多次运行上述查询时,您可能会遇到以下错误:
数据库中已经有一个名为“#MyTestable”的对象。

为了缓解这一问题,您可以在创建
临时表之前使用如下
DROP IF EXISTS
语句

IF OBJECT_ID(N'tempdb..#MyTempTable') IS NOT NULL
BEGIN
DROP TABLE #MyTempTable
END
CREATE TABLE #MyTempTable
(OUTPUT VARCHAR(max))

INSERT INTO #MyTempTable
EXEC xp_cmdshell 'tasklist' 

SELECT * FROM #MyTempTable WHERE OUTPUT like 'ie%' ORDER BY OUTPUT


您可以将这些作为参数添加到sp:不,它不重复,我希望tSQL代码不在DotNet平台中。