Sql server 无法识别ssis sp中的表变量
我在ssis中创建了一个名为Sql server 无法识别ssis sp中的表变量,sql-server,ssis,ssis-2012,execute-sql-task,Sql Server,Ssis,Ssis 2012,Execute Sql Task,我在ssis中创建了一个名为Vpop\u summary\u table的变量 我在sql语句中使用了这个变量 我的变量 Vpop_汇总表 预计会产生价值 [dbo].[2019-02-02_pop_表] 在ssis中它是好的 DECLARE @Vpop_summary_table VARCHAR(100) SET @Vpop_summary_table= ? SELECT ,[Age Range] ,[Gender]
Vpop\u summary\u table
的变量
我在sql语句中使用了这个变量
我的变量
Vpop_汇总表
预计会产生价值
[dbo].[2019-02-02_pop_表]
在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]
我的表格创建为
[@Vpop\u summary\u table]
而不是[dbo].[2019-02-02\u pop\u table]
表格名称和列名需要是静态的
如果要执行此操作,请创建完整的SQL,然后使用sp_executesql来执行它,尽管就良好实践而言,在变量中使用表看起来并不太好…您不能将表名作为参数传递,您必须使用表达式来实现这一点: 打开“执行SQL任务编辑器”,转到“表达式”选项卡,为
SQLStatementSource
属性添加表达式,如下所示:
"SELECT
[Age Range]
,[Gender]
,[2023 Population]
INTO " + @[User::Vpop_summary_table] + "
FROM [dbo].[2018_Population_Table_CLARITAS]"
更多信息,请访问:
- (请检查“使用SSIS表达式”部分)