Не удалось распознать табличную переменную в ssis sp - PullRequest
3 голосов
/ 10 мая 2019

Я создал переменную в ssis под названием Vpop_summary_table.

Я использовал эту переменную в выражении sql.

моя переменная

Vpop_summary_table *Ожидается, что 1009 *

даст значение

[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]

Моя таблица создана как [@Vpop_summary_table] вместо [dbo].[2019-02-02_pop_table]

Ответы [ 2 ]

1 голос
/ 12 мая 2019

Вы не можете передать имя таблицы в качестве параметра, вы должны использовать выражения для достижения этого:

Откройте редактор задач «Выполнение SQL», перейдите на вкладку «Выражения», добавьте выражение для свойства SQLStatementSource следующим образом:

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

Больше информации по адресу:

1 голос
/ 10 мая 2019

Имена таблиц и столбцов должны быть статическими.

Если вы хотите сделать это, создайте полный SQL-код, а затем используйте sp_executesql для его выполнения, хотя с точки зрения хорошей практики наличие таблицы в переменной выглядит не очень хорошо ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...