我正在从Oracle迁移到mssql。
我将情况简化为以下内容:
Oracle中的用户具有两个角色(我们分别称为A和B)。他们可以具有一个或两个角色。这两个用户信息都需要迁移到名为 User_Profile 和 User_Role 的表中。一个用户只有一个配置文件,但可以具有一个或两个 User_Role (A和B)。 根据角色的不同,他们还将其他信息迁移到其他表中。
Oracle DB使用整数来标识用户。 Mssql使用GUID来标识用户。我有一个存储这些映射的临时表。
我的问题: 我已经成功迁移了具有角色A的用户。每个角色都有一个数据流任务
但是,我知道角色A迁移的 User_Profile 中已经存在某个用户,该如何迁移具有角色B的用户?
我正在尝试做的事情: 每个角色都有自己的数据流任务。它使用登台表(映射)来确定是否必须将用户写入User_Profile表中。如果它在登台表中不存在,那么它将写入user_profile并在该登台表中创建一条记录。
我还考虑过对所有角色使用一个数据流任务,并使用条件拆分,但是在实际情况下,至少有7个角色,我认为这确实很麻烦且难以维护。