Roadmap › SSIS — SQL Server Integration Services › Module: Package Basics
Lessons in this course (13)

3. Variables, parameters and expressions

Basic★ Must knowLesson 3 of 13
VariablesParameters (2012+)
ScopePackage, container or taskPackage or project
Change at runtimeYes, by tasks/scriptsRead-only during execution; set before execution
UseStore values between tasks (row counts, file names, result sets)Pass external values in (server names, folders, dates)
Set fromExecute SQL results, Script Task, expressionsSSISDB environments, dtexec /Par, Agent job

Expressions (SSIS expression language, C-like) make properties dynamic:

@[User::FilePath] + "\\Sales_" + (DT_WSTR, 8) (YEAR(GETDATE()) * 10000 + MONTH(GETDATE()) * 100 + DAY(GETDATE())) + ".csv"
"SELECT * FROM dbo.Orders WHERE ModifiedAt > '" + (DT_WSTR, 30) @[User::LastLoad] + "'"
@[$Project::ServerName]          -- project parameter
ISNULL(Discount) ? 0 : Discount   -- in Derived Column

System variables: System::PackageName, System::StartTime, System::ExecutionInstanceGUID, System::ErrorDescription (in event handlers).