sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo establecer el nombre de la tabla en la consulta SQL dinámica?

Para ayudar a protegerme contra la inyección de SQL, normalmente trato de usar funciones siempre que sea posible. En este caso, podrías hacer:

...
SET @TableName = '<[db].><[schema].>tblEmployees'
SET @TableID   = OBJECT_ID(TableName) --won't resolve if malformed/injected.
...
SET @SQLQuery = 'SELECT * FROM ' + OBJECT_NAME(@TableID) + ' WHERE EmployeeID = @EmpID'