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

如何遍历Organisation表并向User表动态插入新记录?

解决方案:从Organisation表批量插入User表记录

嘿,直接用SQL的INSERT...SELECT语法就能完美实现你要的遍历插入需求,不用分开执行查询和插入操作,一步到位更高效。

你之前的参考写法是分开的查询和插入,没法动态遍历批量处理,调整成下面的写法就可以了:

INSERT INTO [User] (userlogin, Organisationid, emailaddress, username, userpassword)
SELECT 
    'AGT' + Code, 
    Organisationid, 
    'test@gmail.com', 
    'User' + Code, 
    '123'
FROM Organisation;

逻辑说明:

  • 这个语句会自动遍历Organisation表的每一条记录,把每行的Code和Organisationid动态带入User表的对应字段
  • 'AGT' + Code会给每个组织的Code加上AGT前缀作为新用户的登录名,'User' + Code同理生成用户名
  • 固定值test@gmail.com和123会被填充到所有新插入用户的邮箱和密码字段中

额外注意事项:

如果你的Code字段是数值类型(比如int、bigint),直接拼接字符串会报错,需要先把它转换成字符串类型,用CAST函数处理就行:

INSERT INTO [User] (userlogin, Organisationid, emailaddress, username, userpassword)
SELECT 
    'AGT' + CAST(Code AS VARCHAR(50)), 
    Organisationid, 
    'test@gmail.com', 
    'User' + CAST(Code AS VARCHAR(50)), 
    '123'
FROM Organisation;

另外,User是SQL的保留关键字,所以用方括号[User]包裹表名,避免语法解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:38:12