SQLUSA

Microsoft SQL Server 2005 Best Practices

How to get results from a dynamic sql query?

 

Execute the following script in Query Editor to return an OUTPUT parameter from a dynamic SQL query:

USE AdventureWorks;

 

 

DECLARE @SQL NVARCHAR(1024), @ParmDefinition NVARCHAR(1024)

DECLARE @FirstLetter CHAR(1), @LastFirstName NVARCHAR(50)

SET @SQL = N'SELECT @LastFirstNameOUT = max(FirstName)

      FROM Person.Contact'+CHAR(13)+

      'WHERE left(LastName,1) = @FirstLetterOfLastName'

SET @ParmDefinition = N'@FirstLetterOfLastName char(1),

      @LastFirstNameOUT nvarchar(50) OUTPUT'

SET @FirstLetter = 'M'

PRINT @SQL+CHAR(13)

PRINT @ParmDefinition

EXECUTE sp_executesql

      @SQL,

      @ParmDefinition,

      @FirstLetterOfLastName = @FirstLetter,

      @LastFirstNameOUT=@LastFirstName OUTPUT

 

SELECT

[Last First Name] = @LastFirstName,

Legend='of last names starting with',

Letter=@FirstLetter

GO

 

 

Results:

Last First Name

Legend

Letter

Zoe

of last names starting with

M

 

 

 

SQLUSA - The Best SQL Server 2005 Training in the World
 
 
SQLUSA.com Home Page