Dear Sir,
This is really very good alternative solution.
Can't I delete the selected bad rows in the same statement like this....
WITH OrderedData AS (
SELECT
Seq_No,
cdata,
x.RowID,
rn = ROW_NUMBER() OVER(PARTITION BY x.RowID ORDER BY p.Seq_No)
FROM #Test_Table p
CROSS APPLY (
SELECT RowID = MAX(Seq_No)
FROM #Test_Table
WHERE CData = '*********************************************' AND Seq_No <= p.Seq_No
) x
)
Delete from t
output deleted.Seq_No, deleted.CData
into dbo.Test_Table_Bad_Records
FROM OrderedData t
WHERE t.RowID IN (
SELECT r1.RowID
FROM OrderedData r1
INNER JOIN OrderedData r2
ON r2.RowID = r1.RowID AND r2.rn = r1.rn + 1
WHERE r1.CData = 'RateQuote' AND r2.CData = ' ')
Thanks..