I wrote this procedure and defined two strings as parameters for it :
CREATE PROCEDURE [dbo].[spo_SelectTable1sDynamic]
@WhereCondition nvarchar(500),
@OrderByExpression nvarchar(250) = NULL
AS
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
DECLARE @SQL nvarchar(3250)
SET @SQL = 'SELECT
[col1], [col2], [col3], [col4]
FROM
[dbo].[Table1]
WHERE
' + @WhereCondition
IF @OrderByExpression IS NOT NULL AND LEN(@OrderByExpression) > 0
BEGIN
SET @SQL = @SQL + 'ORDER BY ' + @OrderByExpression
END
EXEC sp_executesql @SQL
I should pass two strings for @whereconditio and @OrderByExpression parameters.
How can I execute this stored procedure? I use this code but get an error:
EXECUTE spo_SelectTable1sDynamic N'col1='book'' , N'col1 '
@wherecondtitionpassed entirely as string