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

Come passare le variabili SSIS nell'espressione ODBC SQLCommand?

  • Con OLE DB

Prova questo codice, funziona per me con le mie tabelle 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

Devi fare clic su Parametri nell'editor sorgente OLEDB per configurare ciò di cui hai bisogno. Utilizzare il '?' per rappresentare una variabile nella tua query.

Se interroghi se è troppo complicato, memorizzalo in una procedura memorizzata e chiamalo in questo modo:

EXEC shema.storedProcedureName ?

E mappa il '?' alla tua variabile @user::DateString

  • Con ODBC

Le espressioni sono al di fuori del flusso di dati in Proprietà flusso di dati.Seleziona la proprietà dell'espressione e aggiungi la tua query dinamica.

E la tua espressione sarà

"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"