| /*
Duplicate rows in lportal.ResourcePermission
dev: The duplicate key value is (10154, 145, 4, 10524_LAYOUT_145, 10163).
create unique index IX_8D83D0CE on lportal.ResourcePermission (companyId, name, scope, primKey, roleId);
*/
select companyId, name, scope, primKey, roleId,ownerId,actionIds,count(*) dup_count
from lportal.ResourcePermission
group by companyId, name, scope, primKey, roleId,ownerId,actionIds
having count(*) > 1
;
select companyId, name, scope, primKey, roleId,count(*) dup_count
from lportal.ResourcePermission
group by companyId, name, scope, primKey, roleId
having count(*) > 1
/* identify the duplicates */
WITH CTE AS(
SELECT companyId, name, scope, primKey, roleId,ownerId,actionIds,
RN = ROW_NUMBER()OVER(PARTITION BY companyId, name, scope, primKey, roleId,ownerId,actionIds ORDER BY companyId, name, scope, primKey, roleId,ownerId,actionIds)
FROM lportal.ResourcePermission
)
select * FROM CTE WHERE RN > 1
;
/* delete the duplicates */
WITH CTE AS(
SELECT companyId, name, scope, primKey, roleId,ownerId,actionIds,
RN = ROW_NUMBER()OVER(PARTITION BY companyId, name, scope, primKey, roleId,ownerId,actionIds ORDER BY companyId, name, scope, primKey, roleId,ownerId,actionIds)
FROM lportal.ResourcePermission
)
delete FROM CTE WHERE RN > 1
;
/* backup the table */
select *
into lportal.ResourcePermission_tempchu
from lportal.ResourcePermission
|