【问题标题】:How to loop to insert the records to a table by taking the data from two (2) other tables?如何通过从两 (2) 个其他表中获取数据来循环将记录插入到表中?
【发布时间】:2026-01-13 15:30:02
【问题描述】:

我有 3 个表:tblDepartment、tblFunction、tblDepartmentFunction,如下所示。 tblDepartment 与 tblDepartmentFunction 具有一对多 tblFunction 与 tblDepartmentFunction 一对多 我需要代码 C# 来运行一个循环,通过从 tblDepartment 中获取 DepartmentID (1) 记录来运行循环以将记录插入到 tblDepartmentFunction 中,同时从 tblFunction 中获取所有记录的 FunctionID (1,2,3,4,5,6),请参考下图:

请帮我获取以上内容。

【问题讨论】:

标签: c# sql loops


【解决方案1】:

您可以使用查询提供插入命令,并且该查询可以连接两个或多个表。因此,您无需在 C# 中编写循环代码,只需插入执行单个 SQL 语句的行即可。

具体来说:

insert into tblDepartmentFuncion (DepartmentId, FunctionId)
            select DepartmentId, FunctionId
            from tblDepartment, tblFunction

【讨论】:

  • 感谢您的回答,但请注意,表函数可能有很多记录,其记录的数量仅由count命令识别,而不仅仅是6。所以我认为循环while或for应该应用于插入记录。
  • 好吧,我误会你了,现在我已经修改了它,它会插入所有现有的 Department 函数,而不仅仅是 6。在一个非常简单的 SQL 语句上执行这些插入比用 C# 编写一个循环。
  • 投反对票的人可以用这个非常简单、解释清楚且功能完善的解决方案来解释他不喜欢什么?
最近更新 更多