Wael Dalloul
Wael Dalloul

Reputation: 22984

Can I Use Order by to sort Stored Procedure results?

Simply, I have this SQL statment:

EXEC xp_cmdshell 'tasklist' 

can we order or filter the results by using order by or where?

Thanks,

Upvotes: 33

Views: 54132

Answers (4)

Aage
Aage

Reputation: 6252

When running the above query multiple times, you might run into this error: There is already an object named '#MyTempTable' in the database.

To mitigate this you can use a DROP IF EXISTS statement as follows before creating the temp table.

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

Upvotes: 2

Wael Dalloul
Wael Dalloul

Reputation: 22984

I checked jamietre link, and this is the complete answer:

Create table  #MyTempTable
(output varchar(max))

INSERT INTO #MyTempTable
EXEC xp_cmdshell 'tasklist' 

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

Thanks for all...

Upvotes: 24

Jamie Treworgy
Jamie Treworgy

Reputation: 24334

You need to output the results into a temporary table first. This should show you how to do it

Insert results of a stored procedure into a temporary table

Upvotes: 20

chuck taylor
chuck taylor

Reputation: 2516

not directly. You can insert exec into a temp table or table variable and then sort that though

Upvotes: 4

Related Questions