无法识别 ssis sp 中的 table 变量

Not able to recognize a table variable in ssis sp

我在 ssis 中创建了一个名为 Vpop_summary_table 的变量。

我在 sql 语句中使用了这个变量。

我的变量

Vpop_summary_table

有望给值

[dbo].[2019-02-02_pop_table]

在ssis中没问题

DECLARE @Vpop_summary_table VARCHAR(100)


    SET  @Vpop_summary_table= ?
    SELECT 
          ,[Age Range]
          ,[Gender]
         ,[2023 Population]
     INTO [@Vpop_summary_table]
      FROM [dbo].[2018_Population_Table_CLARITAS]

我的 table 被创建为 [@Vpop_summary_table] 而不是 [dbo].[2019-02-02_pop_table]

Table 名称和列名称需要是静态的。

如果您想这样做,请创建完整的 SQL,然后使用 sp_executesql 执行它,尽管就良好实践而言,在变量中使用 table 看起来并不合适太棒了...

您不能将 table 名称作为参数传递,您必须使用表达式来实现:

打开执行 SQL 任务编辑器,转到表达式选项卡,为 SQLStatementSource 属性 添加一个表达式,如下所示:

"SELECT 
       [Age Range]
      ,[Gender]
      ,[2023 Population]
 INTO " + @[User::Vpop_summary_table] + "
 FROM [dbo].[2018_Population_Table_CLARITAS]"

更多信息: