You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何遍历查询生成的临时表用户数据并批量插入至目标表?

批量插入临时表中所有用户的记录到目标表

你可以用INSERT...SELECT的方式直接批量插入,不需要逐行处理,这是SQL中批量操作的最优方式,比游标或循环效率高很多。

完整的实现代码如下:

-- 先创建临时表存储用户ID列表
SELECT DISTINCT [AUTHORIZATION_NAME] 
INTO #TEMP 
FROM [saving].[SAV_AUTHORIZATION] 
WHERE [ACTIVE_FLAG] = 1 AND [SAV_AUTHORIZATION_TYPE_ID] = 4

-- 批量插入临时表中每个用户的记录到目标表
INSERT INTO [saving].[SAV_INITIATIVES_APPROVAL]
(
    [SAV_INITIATIVES_ID],
    [APPROVAL_DATE_SUBMITTED],
    [APPROVAL_BY_NM],
    [APPROVAL_BY_DT],
    [LAST_UPDATE_DATE],
    [LAST_UPDATE_USER],
    [ACTIVE_FLAG]
)
SELECT 
    @ID,
    GETDATE(),
    [AUTHORIZATION_NAME], -- 直接取临时表中的用户名
    NULL,
    GETDATE(),
    @LAST_UPDATE_USER,
    1
FROM #TEMP -- 从临时表获取所有用户

-- 用完临时表后可手动删除(SQL Server也会在会话结束时自动清理)
DROP TABLE #TEMP

关键说明:

  • 把原来的VALUES子句替换为SELECT,从临时表#TEMP中读取每个用户的AUTHORIZATION_NAME,替代原代码中的@APPROVER_NM
  • 其他固定值或变量(如@ID、GETDATE()、@LAST_UPDATE_USER)会自动应用到每一条插入的记录中
  • 临时表使用完毕后,可通过DROP TABLE #TEMP手动清理,避免占用资源

内容的提问来源于stack exchange,提问作者Srav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 06:20:48