Can someone help me with the following stored procedure?
When I execute this stored procedure:
DECLARE @retVal varchar(500)
EXEC utility_getDatabaseLocation
@program = "RH17009", @locationOutput = @retVal OUTPUT
SELECT @retVal
It returns the following @sql
statement:
SELECT Location
FROM Intranet.dbo.tbl_Campaigns
WHERE JobCode = @paramProgram
So the dynamic SQL statement parameter is not being passed.
ALTER PROCEDURE [dbo].[utility_getDatabaseLocation]
@program AS NVARCHAR(75),
@locationOutput VARCHAR(500) OUTPUT
AS
DECLARE @ParmDefinition nvarchar(500);
SET @ParmDefinition = N'@paramProgram varchar(75),@paramOUTPUT varchar(500) OUTPUT';
DECLARE @sql AS nvarchar(500)
BEGIN
SET @sql = N'SELECT Location FROM Intranet.dbo.tbl_Campaigns WHERE JobCode = @paramProgram'
EXEC sp_executesql @sql, @ParmDefinition,
N'@paramProgram=@program', N'@paramOUTPUT=@locationOutput OUTPUT'
PRINT @sql
PRINT @locationOutput
END