Based on Richard Dudley's comment on my previous post, here is an updated version of the Dynamic SQL Query:
CREATE PROCEDURE [dbo].[GetReport]
(
@ID INT,
@Type INT
)
AS
DECLARE @strQuery NVARCHAR(4000)
DECLARE @parameterList NVARCHAR(4000)
SET @strQuery = N'SELECT * FROM Reports WHERE ( (Reports.ID = @RerpotID) AND '
IF ( @Type=0 )
BEGIN
SET @strQuery = @strQuery + N' (Reports.[In] = 3) )'
END
ELse
IF ( @Type=1 )
BEGIN
SET @strQuery = @strQuery + N' (Reports.[In] = 2) )'
END
ELSE
IF ( @Type=2 )
BEGIN
SET @strQuery = @strQuery + N' (Reports.[In] = 1) )'
END
ELSE
BEGIN
SET @strQuery = SUBSTRING(@strQuery, 1, (LEN(@strQuery) - 4))
SET @strQuery = @strQuery + N' )'
END
SET @parameterList = N '@ReportID INT'
EXECUTE SP_EXECUTESQL @strQuery, @parameterList, @ReportID = @ID
GO
Hope its better now.
Regards
Posted
Aug 24 2005, 03:13 PM
by
simple