Bulk Data Delete using SQL Query

 -- Preview rows to be deleted

SELECT *
FROM [dbo].[rawData] AS A
JOIN [dbo].[CatIdDim] AS B ON A.CatId = B.CatId
WHERE B.[Year] = 2026
  AND A.Flag = 'Yes'
  AND CONCAT(
    B.Element,
    CAST(A.Id AS VARCHAR(32)),
    A.TypeOfScore
  ) IN (
    'Element0001',
    'Element0002'
  );

-- If the preview looks right, run the DELETE
BEGIN TRAN;

DELETE A
FROM [dbo].[rawData] AS A
JOIN [dbo].[CatIdDim] AS B ON A.CatId = B.CatId
WHERE B.[Year] = 2026
  AND A.Flag = 'Yes'
  AND CONCAT(
    B.Element,
    CAST(A.Id AS VARCHAR(32)),
    A.TypeOfScore
  ) IN (
    'Element0001',
    'Element0002'
  );

-- Sanity check: how many deleted?
SELECT @@ROWCOUNT AS RowsDeleted;

-- If OK
COMMIT TRAN;
-- If not OK: ROLLBACK TRAN;

Comments