--插入新的发送礼包数据 INSERT INTO UserPrivilegeGiftPackageLog ( RegNumber, PrivilegeId, GiftPackageId, [Status], Descn, CreateDate, EditDate, [ExpireDate] ) SELECT DISTINCT upgpl.RegNumber, upgpl.PrivilegeId, pgpm.GiftPackageId, 0, upgpl.Descn, upgpl.CreateDate, upgpl.EditDate, upgpl.[ExpireDate] FROM Privilege_GiftPackage_Mapping AS pgpm INNER JOIN UserPrivilegeGiftPackageLog AS upgpl ON pgpm.PrivilegeId = upgpl.PrivilegeId WHERE upgpl.[Status] = 0 AND pgpm.IsDel = 0 AND upgpl.PrivilegeId IN (167) --把老的发送礼包数据置为失效 UPDATE upgpl SET [Status] = 2, EditDate = GETDATE() FROM UserPrivilegeGiftPackageLog as upgpl WHERE upgpl.PrivilegeId IN (167) AND [Status] = 0 AND GiftPackageId NOT IN (SELECT pgpm.GiftPackageId FROM Privilege_GiftPackage_Mapping AS pgpm WHERE pgpm.PrivilegeId = upgpl.PrivilegeId AND pgpm.IsDel = 0)