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

¿Cómo pasar variables SSIS en la expresión ODBC SQLCommand?

  • Con OLE DB

Pruebe este código, me funciona con mis propias tablas con SQL Server:

SELECT userid,sum(goldbalance) AS SUMGOLD
FROM deltadna.events_live
WHERE eventTimestamp >= DATEADD(DAY, -100,CONVERT(DATE,?))
GROUP BY userid
ORDER BY SUMGOLD desc

Debe hacer clic en Parámetros en el Editor de fuentes OLEDB para configurar lo que necesita. Utilizar el '?' para representar una variable en su consulta.

Si consulta si es demasiado complicado, guárdelo en un procedimiento almacenado y llámelo así:

EXEC shema.storedProcedureName ?

Y mapear el '?' a su variable @user::DateString

  • Con ODBC

Las expresiones están fuera del flujo de datos en Propiedades de flujo de datos. Seleccione la propiedad de expresión y agregue su consulta dinámica.

Y tu expresión será

"SELECT userid,sum(goldbalance) AS SumGold
FROM deltadna.events_live
where eventTimestamp>=DATE "[email protected][User::datestring]+" +INTERVAL '-100 day'
group by userid
order by SumGold desc"