Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

È possibile interrogare un nome di colonna specificato dall'utente senza ricorrere all'SQL dinamico?

Sfortunatamente i nomi delle tabelle, i nomi delle colonne non possono essere parametrizzati. Poiché conosci la struttura della tabella, potresti avere una whitelist di possibili nomi di colonna in questo parametro e quindi utilizzare la concatenazione di stringhe per evitare l'iniezione SQL:

"WHERE " + Sanitize(column) + " = @Value");