devxlogo

Manipulate Stored Procedure Resultsets as If They Were Simple Queries

Manipulate Stored Procedure Resultsets as If They Were Simple Queries

You already know that stored procedures offer enormous benefits over direct SELECT statements. But one of the things you tend to have to sacrifice when you replace a simple SELECT with a stored procedure is direct control over the resultset.

For example, you can’t simply throw an ORDER BY clause into the mix to change the display order of the rows. But thanks to the OPENROWSET statement, you can take back this control.

Consider the stored procedure Ten Most Expensive Products in the Northwind database. To execute it, as you know, all you need to do is:

EXEC Northwind..[Ten Most Expensive Products]

But what if you want to manipulate the results, say, with an ORDER BY or a WHERE clause? The usual solution would be to pump the resultset into a temporary table, manipulate that temp table, then dispose of it. But with OPENROWSET, you can dispense with this step. Here are a few examples which should get you started:

SELECT TMEP.*FROM OPENROWSET('SQLOLEDB', '';'';'',	'EXEC Northwind..[Ten Most Expensive Products]') AS TMEPWHERE UnitPrice BETWEEN 50 AND 75 -- Narrow down the resultsetSELECT TMEP.*FROM OPENROWSET('SQLOLEDB', '';'';'',	'EXEC Northwind..[Ten Most Expensive Products]') AS TMEPORDER BY TenMostExpensiveProducts -- Alter the storedprocedure's sort orderSELECT TMEP.TenMostExpensiveProducts -- Return only the name; wedon't care about the UnitPriceFROM OPENROWSET('SQLOLEDB', '';'';'',	'EXEC Northwind..[Ten Most Expensive Products]') AS TMEPSELECT TOP 5 TMEP.* -- The procedure returns a top 10, but weactually only want the top 5 this timeFROM OPENROWSET('SQLOLEDB', '(local)';'sa';'bingo',	'EXEC Northwind..[Ten Most Expensive Products]') AS TMEP

Obviously, you’ll need to substitute the valid and applicable values for , , and .

See also  Why ChatGPT Is So Important Today
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist