当前位置: 首页 > 知识库问答 >
问题:

用于按集合在表中大容量插入的函数或存储过程

步联
2023-03-14

如何将以下内容转换为teradata存储过程或某些函数:WHILE EXISTS(SELECT*FROM#temp_set1)BEGIN

/*状态组:删除、插入等

像*/INSERT到#temp_set中从#temp_set1中选择前200个*;以select*from#TEMP_SET1的形式插入到Activepull中,在所有插入之前,这应该发生在每组200中

结束;

#TEMP_SET1中有60000多行,因此希望按集插入。多谢了。

共有1个答案

沈琨
2023-03-14

写在我的手机上,但我会使用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
 类似资料:
  • 我正在尝试使用大容量插入和BCP将数据加载到Azure SQL server。我能够将数据加载到我的表中,没有任何问题,但在我的情况下,加载性能是个问题。在大多数情况下,BCP比批量插入更快。 BCP 将数据从UNIX加载到数据库 批量插入 通过BLOB存储将数据加载到AzureSQL服务器 我想知道除了添加TABLOCK和drop/recreate index之外,如何提高批量插入性能。由于增量

  • 问题内容: 我为几个表创建触发器。触发器具有相同的逻辑。我将要使用一个通用的存储过程。但是我不知道如何处理 插入 和 删除的 表。 例子: 问题答案: 您可以使用表值参数存储触发器中插入/删除的值,并将其传递给proc。例如,如果您在proc中所需的全部是UNIQUE : 然后从触发器中传递插入/删除的ID,例如:

  • 我想知道如何使用SQL在DB2中使用存储过程插入到表中。我创建了一个如下表: 此表包含项目列表。使用此列表,我想将其他各种字段插入到另一个表中。但是,举个例子,假设我只想使用游标逐个插入这些值。我将存储过程编写如下: 这给了我一个无限循环。谁能告诉我如何停止无限循环并插入这些记录。我想使用光标,因为我想进一步使用itemno来比较并获得单个结果。

  • 问题内容: 这个问题已经在这里有了答案 : 如何在存储过程中一次全部插入两个表?[重复] (1个答案) 7年前关闭。 我有2张桌子,和: : : 我想编写一个存储过程,该过程将插入两个表中 更准确地说,是插入with ,它将返回用作的外键。 我进行了很多搜索,但未找到任何解决方案。 问题答案: 如下图所示。在这种情况下,您可以用来获取最后一个自动生成的ID以及此存储过程的作用域:

  • 我想在我的sql-server数据库中插入。txt文件数据。我在.txt文件中使用和不使用PK-Variable时都出现了错误。我的疑问: 使用 从“C:\user\test.txt”大容量插入db.schema.table(FIELDTERMINATOR=';')去吧 null null

  • 我正在Firestore中制作一个“聊天演示”来保存信息,我是这样做的: 但问题是,文档显示它不存在,尽管它包含一个子集合。 正如上面写的:“这个文档不存在”,尽管它包含一个名为的子集合,其中包含更多文档。 但是我需要检查带有特定名称的文档是否存在于集合下。 我的代码是否有任何问题,或者我是否需要以其他方式进行? 提前谢谢。