Colin,
Contanto que seu app for a única uma passagem ONDE cláusula, a seguir você é provavelmente razoavelmente seguro. A edição não é seu código, embora. As injeções do SQL não são normalmente a sorte da coisa que o colaborador constrói em seu app mas, um pouco, na sorte da coisa que alguma alma maliciosa que tropeça em cima de sua base de dados faz fora do meanness puro.
Talvez, em vez da passagem ONDE a cláusula, você pôde querer considerar passar os vários parâmetros que foram selecionados para o relatório. Você poderia passar valores NULOS para parâmetros unselected, se a necessidade fosse. Então, dentro do SP, executar suas atualizações baseadas nos parâmetros em vez em cima da “mágica onde cláusula”. Usando os parâmetros, você pode impossibilitar o ataque da injeção (na maior parte porque causaria uma indicação de SQL inválida em vez apenas da execução.)
Tudo que eu estou indic é que a técnica você se está usando (ou se estão tentando se usar) é inerente inseguro e deve nunca ser uma parte de uma aplicação de base de dados da produção. Viola as réguas de todas as “melhores práticas conhecidas”.