Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara melewatkan variabel SSIS dalam ekspresi ODBC SQLCommand?

  • Dengan OLE DB

Coba kode ini, ini berfungsi untuk saya dengan tabel saya sendiri dengan 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

Anda harus mengklik Parameter di Editor Sumber OLEDB untuk mengonfigurasi apa yang Anda butuhkan. Menggunakan '?' untuk mewakili variabel dalam kueri Anda.

Jika Anda menanyakan apakah terlalu rumit, simpan dalam prosedur tersimpan dan beri nama seperti ini:

EXEC shema.storedProcedureName ?

Dan petakan '?' ke variabel Anda @user::DateString

  • Dengan ODBC

Ekspresi berada di luar aliran data di Properti Aliran Data. Pilih properti ekspresi dan tambahkan kueri dinamis Anda.

Dan ekspresi Anda akan menjadi

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 5 Manfaat Pemantauan Kinerja Basis Data Proaktif

  2. Cara Mengurangi Ukuran File Data di SQL Server (T-SQL)

  3. Mengapa RAND() tidak menghasilkan angka acak?

  4. Apakah mungkin menggunakan `SqlDbType.Structured` untuk meneruskan Parameter Bernilai Tabel di NHibernate?

  5. Desain basis data untuk pengaturan pengguna