Я написал эту процедуру и определила две строки в качестве параметров для него:Exec хранимая процедура с двумя параметрами строки
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
я должен пройти две строки для @whereconditio
и @OrderByExpression
параметров.
Как выполнить эту хранимую процедуру? Я использую этот код, но получаю сообщение об ошибке:
EXECUTE spo_SelectTable1sDynamic N'col1='book'' , N'col1 '
** [Возможная инъекция SQL] (https://msdn.microsoft.com/en-us/libra ry/ms161953% 28v = sql.105% 29.aspx) ** Особенно '@ wherecondtition' передается целиком как строка – lad2025
Как это решить? – programmer138200
OK ................ – programmer138200