我得到了以下场景,
有四个表 COUNTRY, STATE, CITY, STREET
我有一个包含上述记录的 excel 文件..截至目前可能有 2000 行。
我使用 SqlBulkCopy 将数据导入临时表,让我们将表命名为 IMPORT。
我在 IMPORT 表上编写了一个用于插入的触发器,该触发器获取插入的记录并拆分国家、州、城市、街道,然后将它们插入到相应的表中。
在此触发器中,我必须进行一些条件检查,例如,如果 COUNTRY 名称已经存在,则返回 COUNTRY_ID,否则将其插入并获取新的 COUNTRY_ID。
如果 Excel 文件只有一行,则上述方法有效。一旦我将原始 Excel 用于导入,我发现触发器中的以下语句失败“从 INSERTED 中选择国家”,因为 sqlbulkcopy 使 INSERTED 具有多个记录。
表结构
国家
- Country_ID
- 国家的名字
状态
- State_ID
- Country_ID
- 州名
城市
- City_ID
- State_ID
- Country_ID
- 城市名
街道
- Street_ID
- City_ID
- State_ID
- Country_ID
- 街道名称
进口
- 国家的名字
- 州名
- 城市名
- 街道名称
那么我可以在触发器中使用循环语句来遍历 INSERTED 中的所有记录吗?
或者如何以最好的方式解决这个问题?
注意:由于他们已经在使用它,我无法控制这些表结构及其关系。
提前致谢。