Monday, August 4, 2014

Dynamic Function

Hi Jonathan,


This is returning NULL, when I print the @sql it is printing correct sql query but result is NULL, from SP when I run the generated SQL independently it is returning value



ALTER PROCEDURE [P_Rec_cnt]
(
@InTableName NVARCHAR(100),
@InDtColName NVARCHAR(50),
@InDate NVARCHAR(50),
@InRowCnt INT OUTPUT
)
AS
BEGIN
DECLARE @vRowCnt NVARCHAR(50)
DECLARE @vTableName NVARCHAR(150)
DECLARE @vDtColName NVARCHAR(50)
DECLARE @vInDate NVARCHAR(50)
DECLARE @vSql NVARCHAR(500)
SELECT @vTableName=@InTableName,@vDtColName=@InDtColName,@vInDate=@InDate
SELECT @vInDate=''''+CAST(@InDate AS NVARCHAR)+''''
SELECT @vSql='SELECT @vRowCnt = COUNT(*) FROM '+@vTableName+' WHERE '+@vDtColName+'='+@vInDate
--SELECT (@vSql)
EXECUTE SP_EXECUTESQL @vSql, N'@vRowCnt NVARCHAR(50) OUTPUT', @vRowCnt OUTPUT
--SELECT @InRowCnt = @vRowCnt
END





Neil


No comments:

Post a Comment