SOF User
SOF User

Reputation: 7840

Error in stored procedure execution

This query is raising an error:

DECLARE @CategoryId int
SELECT @CategoryId = 1

exec [USP_GetLimitedRecords]
        @Query = N'SELECT b.* FROM Boxes b INNER JOIN Categories c ON b.CategoryId = c.Id WHERE c.Id= ' + @CategoryId,
        @PrimaryKey = N'id',
        @PageNo = 1,
        @PageSize = 20

Error is:

Msg 102, Level 15, State 1, Line 2 Incorrect syntax near '+'.

This query works

exec [USP_GetLimitedRecords]
        @Query = N'SELECT b.* FROM Boxes b INNER JOIN Categories c ON b.CategoryId = c.Id WHERE c.Id= 1',
        @PrimaryKey = N'id',
        @PageNo = 1,
        @PageSize = 20

Upvotes: 1

Views: 86

Answers (1)

Elias Hossain
Elias Hossain

Reputation: 4469

Would you please try with below query, thanks

DECLARE @CategoryId int
DECLARE @MyQuery NVARCHAR(250)
SELECT @CategoryId = 1

SET @MyQuery = N'SELECT b.* FROM Boxes b INNER JOIN Categories c ON b.CategoryId = c.Id WHERE c.Id= ' + CAST( @CategoryId AS VARCHAR)

exec [USP_GetLimitedRecords]
        @Query = @MyQuery,
        @PrimaryKey = N'id',
        @PageNo = 1,
        @PageSize = 20

Upvotes: 3

Related Questions