Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 SSIS-在多个并行任务中使用表变量_Sql Server 2008_Ssis_Parallel Processing_Table Variable - Fatal编程技术网

Sql server 2008 SSIS-在多个并行任务中使用表变量

Sql server 2008 SSIS-在多个并行任务中使用表变量,sql-server-2008,ssis,parallel-processing,table-variable,Sql Server 2008,Ssis,Parallel Processing,Table Variable,我正在使用以下逻辑编写T-SQL脚本: declare @tbl table(id int) insert @tbl select distinct id -- <-- this takes about 3 minutes from link1.some_table where <some_conditions> insert some_local_table(field1, field2, fieldN) -- <-- this takes about 3

我正在使用以下逻辑编写T-SQL脚本:

declare @tbl table(id int)

insert @tbl select distinct id -- <-- this takes about 3 minutes
  from link1.some_table
  where <some_conditions>

insert some_local_table(field1, field2, fieldN)  -- <-- this takes about 30 minutes
  select field1, field2, fieldN
  from link2.some_table
  where id in (select id from @tbl)
    and <some conditions>

insert some_OTHER_local_table(field1, field2, fieldN) -- <-- another 30 minutes
  select field1, field2, fieldN
  from link2.some_OTHER_table
  where id in (select id from @tbl)
    and <some conditions>

insert some_YET_OTHER_local_table(field1, field2, fieldN) -- <-- another 30m, and so on
  select field1, field2, fieldN
  from link2.some_YET_OTHER_table
  where id in (select id from @tbl)
    and <some conditions>
declare@tbl表(id int)

insert@tbl select distinct id--您不能在每个任务中使用子查询而不是表变量吗

 insert some_local_table(field1, field2, fieldN)  
 select field1, field2, fieldN
 from link2.some_table
 where id in (
      select id   
      from link1.some_table
      where <some_conditions>
   )
 and <some conditions>
。。。然后

declare @tbl table(id int)

insert @tbl select distinct id -- <-- this takes about 3 minutes
  from link1.some_table
  where <some_conditions>

insert some_OTHER_local_table(field1, field2, fieldN) -- <-- another 30 minutes
  select field1, field2, fieldN
    from link2.some_OTHER_table
   where id in (select id from @tbl)
     and <some conditions>
declare@tbl表(id int)

插入@tbl select distinct id——谢谢Ann L。在各个任务之间复制变量肯定会奏效。然而,有一个小风险,即数据将在link1.0表中发生变化,导致查询之间的结果不一致。现在,在本地表而不是本地变量中缓存数据是很诱人的(我们在本地得到一个静态@tbl数据快照),但是我害怕在链接的服务器表和本地表之间编写一个连接子句-远程查询已经非常复杂(它实际上是一个视图)。我会尝试一下,如果它有效,我会把你的答案标记为正确。再次感谢!可以使用全局临时表而不是表变量。甚至是在包的末尾截断的永久表。
declare @tbl table(id int)

insert @tbl select distinct id -- <-- this takes about 3 minutes
  from link1.some_table
  where <some_conditions>

insert some_OTHER_local_table(field1, field2, fieldN) -- <-- another 30 minutes
  select field1, field2, fieldN
    from link2.some_OTHER_table
   where id in (select id from @tbl)
     and <some conditions>