Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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 一次循环10条记录并将其分配给变量_Sql_Sql Server_Ssis_Etl_Ssis 2012 - Fatal编程技术网

Sql 一次循环10条记录并将其分配给变量

Sql 一次循环10条记录并将其分配给变量,sql,sql-server,ssis,etl,ssis-2012,Sql,Sql Server,Ssis,Etl,Ssis 2012,我有一张900张唱片的表格。 我希望一次获得10条记录并将其分配给变量。 下次在SSIS中运行for each循环任务时, 它将循环另外10条记录并覆盖变量。 我们将非常感谢您的帮助 我有一张这样的桌子 EMPID 0001 00045 00067 00556 00078 00345 00002 00004 00005 00006 00007 00008 这是我想要尝试执行sql任务将900条记录拉到变量,将执行sql任务连接到For each循环,For each循环内有数据流任务,源有sq

我有一张900张唱片的表格。 我希望一次获得10条记录并将其分配给变量。 下次在SSIS中运行for each循环任务时, 它将循环另外10条记录并覆盖变量。 我们将非常感谢您的帮助

我有一张这样的桌子

EMPID
0001
00045
00067
00556
00078
00345
00002
00004
00005
00006
00007
00008
这是我想要尝试执行sql任务将900条记录拉到变量,将执行sql任务连接到For each循环,For each循环内有数据流任务,源有sql查询,目标是表

select * from Dbo.JPKGD0__STP
where EMPID in ?
但这将在
1
循环中传递每个empid,所以我希望每次传递10个empid

请告知我是否需要使用不同的方法/或其他任务来实现此目标。

步骤(1)-创建变量 您必须创建两个类型为
int
的变量:

  • @[User::RowCount]
    >>类型
    int
  • @[User::Counter]
    >类型
    int
  • @[User::strQuery]
    >>键入字符串
将以下表达式分配给
@[User::strQuery]

"SELECT  EMPID
FROM     Dbo.JPKGD0__STP
ORDER BY EMPIDASC 
OFFSET  " + (DT_WSTR,50)@[User::Counter]  + " ROWS 
FETCH NEXT 10 ROWS ONLY "
步骤(2)-获取行计数 首先使用以下命令添加一个
executesql任务

SELECT Count(*) FROM Dbo.JPKGD0__STP;
并将结果存储在
@[User::RowCount]
变量中(有关详细信息)

步骤(3)-用于循环容器 现在,使用以下表达式为循环容器添加一个

  • InitExpression:
    @[User::Counter]=0
  • EvalExpression:
    @[User::Counter]<@[User::RowCount]
  • 赋值表达式:
    @[User::Counter]=@[User::Counter]+10
在循环容器的
中添加一个
数据流任务
,其中包含一个OLE DB源和一个目标。在OLE DB源中,从变量
中选择
访问模式
作为
SQL命令,然后选择
@[User::strQuery]
作为源


工具书类
尝试使用NTILE()分析函数,该函数将有序数据集划分为一个存储桶。阅读这篇文章