Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como passar variáveis ​​SSIS na expressão ODBC SQLCommand?

  • Com OLE DB

Experimente este código, funciona para mim com minhas próprias tabelas com o 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

Você precisa clicar em Parameters no OLEDB Source Editor para configurar o que precisa. Use o '?' para representar uma variável em sua consulta.



Se você consultar se for muito complicado, armazene-o em um procedimento armazenado e chame-o assim:
EXEC shema.storedProcedureName ?

E mapeie o '?' para sua variável @user::DateString
  • Com ODBC

As expressões estão fora do fluxo de dados em Propriedades do Fluxo de Dados. Selecione a propriedade da expressão e adicione sua consulta dinâmica.



E sua expressão 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"