Monday, August 4, 2014

Dynamic Function

I changed it to SP as suggested, but it is returning null, where as table has data pertaining to the date passed



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
EXECUTE SP_EXECUTESQL @vSql, N'@vRowCnt NVARCHAR(50) OUTPUT', @vRowCnt OUTPUT
SELECT @InRowCnt = @vRowCnt
END





Neil





No comments:

Post a Comment