Article
Is there a way to save dynamic SQL results in a variable? This is a very popular question, let’s see the answer to that question in this blog.
For example, here is dynamic SQL which we execute with sp_execute SQL. When you run a procedure, you get the results you need. In our case, we see the result line as Marketing, which is the name of the department with ID = 13.
DECLARE @sqlCommand NVARCHAR(4000)
DECLARE @ID INT
SET @ID = 13
SET @sqlCommand = 'SELECT [Name]
FROM [AndreyExWorks2018].[HumanResources].[Department]
WHERE DepartmentID = @ID'
EXEC sp_executesql @sqlCommand, N'@ID INT', @ID = @ID
Now the question arises on how to get the value of the column [Name] in a variable.
Here is a very simple trick for the same thing. Here is a script that announces an additional parameter, which is Name, and returns the value to it.
DECLARE @sqlCommand NVARCHAR(4000)
DECLARE @ID INT
DECLARE @Name NVARCHAR(100)
SET @ID = 13
SET @sqlCommand = 'SELECT @Name = [Name]
FROM [AndreyExWorks2018].[HumanResources].[Department]
WHERE DepartmentID = @ID'.
EXEC sp_executesql @sqlCommand, N'@ID INT, @Name NVARCHAR(100) OUTPUT',
@ID = @ID, @Name = @Name OUTPUT
SELECT @Name ReturnedName
You can use this script and example as a template for your need, where you want to run dynamic SQL and save the result in a variable.
If you have such a script, we ask you to share it and we will publish it with due respect. Always use sp_executesql instead of EXEC to run dynamic SQL.
About Enteros
Enteros offers a patented database performance management SaaS platform. It proactively identifies root causes of complex business-impacting database scalability and performance issues across a growing number of clouds, RDBMS, NoSQL, and machine learning database platforms.
The views expressed on this blog are those of the author and do not necessarily reflect the opinions of Enteros Inc. This blog may contain links to the content of third-party sites. By providing such links, Enteros Inc. does not adopt, guarantee, approve, or endorse the information, views, or products available on such sites.
Are you interested in writing for Enteros’ Blog? Please send us a pitch!
RELATED POSTS
Maximizing Database Performance with Enteros: Empowering the Financial Sector Through Cloud FinOps and RevOps
- 22 January 2025
- Database Performance Management
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Enteros: Harnessing Forecasting and Observability with AIOps for Cost Optimization in the Real Estate Sector
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Optimizing Cost Attribution with Enteros: Revolutionizing Database Software and Cloud FinOps for the Retail Sector
- 21 January 2025
- Database Performance Management
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…
Enteros: Optimizing Database Performance for Education Institutions with Enterprise Agreement Solutions
In the fast-evolving world of finance, where banking and insurance sectors rely on massive data streams for real-time decisions, efficient anomaly man…