Question
DECLARE @LastName nvarchar(32) = 'Smith', @MaxFirstName NVARCHAR(50) DECLARE @SQL NVARCHAR(MAX) = N'SELECT @pMaxFirstNameOUT = max(QUOTENAME(FirstName)) FROM Person.Person'+CHAR(13)+ 'WHERE LastName = @pLastName' PRINT @SQL+CHAR(13) EXEC sp_executeSQL
DECLARE @LastName nvarchar(32) = 'Smith', @MaxFirstName NVARCHAR(50)
DECLARE @SQL NVARCHAR(MAX) = N'SELECT @pMaxFirstNameOUT =
max(QUOTENAME(FirstName)) FROM Person.Person'+CHAR(13)+
'WHERE LastName = @pLastName'
PRINT @SQL+CHAR(13)
EXEC sp_executeSQL @SQL,
N'@pLastName nvarchar(32),
@pMaxFirstNameOUT nvarchar(50) OUTPUT',
@pLastName = @LastName,
@pMaxFirstNameOUT=@MaxFirstName OUTPUT
SELECT [Max First Name] = @MaxFirstName, Legend='of last names ', LastName=@LastName
1) What kind of dynamic SQL it is? (such as passing input / output parameters or concatenating the user inputs, etc.)
(2) Explain the problem?
(3) Is this dynamic sql efficient or not? Why?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started