如何将以下内容转换为teradata存储过程或某些功能: 在EXISTS(SELECT * FROM#temp_set1)的时候 BEGIN
/ * statemnts组:删除插入等
喜欢* / INSERT INTO #temp_set SELECT TOP 200 * FROM#temp_set1; INSERT INTO Activepull as select * from#temp_set1 这应该发生在每组200个,直到所有插入
端;
#temp_set1中有超过60000行,所以想要按集插入。 感谢。
答案 0 :(得分:0)
写在我的手机上,但我会使用over
表达式。它会创建一种伪标识列,然后您可以使用它进行分页。您甚至可以根据order by子句选择订单。
Declare @IntervalSize int = 100
Declare @BeginSet int = 0,
@EndSet int = @IntervalSize
While @Counter < (Select Max(ROW_NUMBER() OVER (ORDER BY someColumn desc) From #temp_set1)
Begin
Insert Into #temp_set
Select *, Row_Number() Over (Order By someColumn desc) As MyIdentity
Where MyIdentity Between @BeginSet And @EndSet
Select @BeginSet = @BeginSet + @IntervalSize,
@EndSet = @EndSet + @IntervalSize
End