0

这是在 SQL Server 2005 SSIS 中:

我对 SSIS 有点陌生。是否可以在 TSQL 或执行 SQL 任务中“设置”包级别的用户定义变量?我了解如何从单个行集查询映射结果。但是假设我想在一个任务中映射 3 个变量?

考虑以下 :

DECLARE @Table1 VARCHAR(255)

SET @Table1 = 'Z_Cisco_CallDetail_' + CONVERT(varchar, YEAR(DATEADD(MILLISECOND, -3, DATEADD(YEAR,DATEDIFF(YEAR, 0, DATEADD(YEAR, -1, GETDATE())) + 1, 0))))

--create table

DECLARE @Table2 VARCHAR(255)

SET @Table2 = 'Z_Cisco_AgentConnDetail_' + CONVERT(varchar, YEAR(DATEADD(MILLISECOND, -3, DATEADD(YEAR,DATEDIFF(YEAR, 0, DATEADD(YEAR, -1, GETDATE())) + 1, 0))))

--create table

DECLARE @Table3 VARCHAR(255)

SET @Table3 = 'Z_AWK_CallRecords_' + CONVERT(varchar, YEAR(DATEADD(MILLISECOND, -3, DATEADD(YEAR,DATEDIFF(YEAR, 0, DATEADD(YEAR, -1, GETDATE())) + 1, 0))))

--create table

现在我想将这 3 个动态表名映射到用户定义的包变量。我在另一个线程中看到了这种语法:

SET @[User::Cisco_CallRecords_Tablename] = @Table1

但我似乎无法让它发挥作用。也许我误解了什么。有什么想法吗?

谢谢,

杰西

4

0 回答 0