Нет, не в такой ситуации. SQL Injection - это, как правило, динамическая проблема SQL. Обратите внимание, этот процедурный и как я запускаю её (EXEC заявление намеренно закомментирована):
CREATE PROC dbo.usp_CanYouCompromiseMe (@Pattern VARCHAR(60))
AS
DECLARE @sql varchar(1000) =
'SELECT *
FROM (VALUES (''xxx'')) x(SomeColumn)
WHERE SomeColumn LIKE '''[email protected]+'%'';';
PRINT (@sql);
--EXEC (@sql);
GO
Примечание это, как это:
EXEC dbo.usp_CanYouCompromiseMe 'x%'';SHUTDOWN WITH NOWAIT; PRINT''';
... создает этот SQL:
SELECT *
FROM (VALUES ('xxx')) x(SomeColumn)
WHERE SomeColumn LIKE 'x%';SHUTDOWN WITH NOWAIT; PRINT'%';