SQL-Injection ist im Grunde das Hinzufügen von zusätzlichem Code zur Abfrage. Der Angriff selbst erfolgt, weil der Server die Eingabedaten als SQL-Code parst und entsprechend ausführt. Sie können sich auf SP-Ebene nicht davor schützen, denn wenn die Ausführung die Prozedur erreicht, war der Angriff bereits erfolgreich.
Solange Sie also Ihre Abfragen als Text erstellen, ist die SQL-Einschleusung unabhängig vom Text der Abfrage möglich. Und wenn Sie dies nicht tun oder Ihre Eingaben ordnungsgemäß bereinigen, sollte die SQL-Einschleusung kein Problem darstellen, egal ob es sich um SELECT oder etwas anderes handelt.