By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
WITH [cteAGENTS] AS (
SELECT *
FROM [dbo].[AGENTS]
WHERE 1=1
),
[cteCUSTOMER] AS (
SELECT c.*
FROM [dbo].[CUSTOMER] c
WHERE EXISTS (SELECT 1
FROM [cteAGENTS] p WHERE c.[AGENT_CODE] = p.[CODE]
)
),
[cteORDERS] AS (
SELECT c.*
FROM [dbo].[ORDERS] c
WHERE EXISTS (SELECT 1
FROM [cteCUSTOMER] p WHERE c.[CUST_CODE] = p.[CODE]
)
)
DELETE [cteORDERS];
WITH [cteAGENTS] AS (
SELECT *
FROM [dbo].[AGENTS]
WHERE 1=1
),
[cteCUSTOMER] AS (
SELECT c.*
FROM [dbo].[CUSTOMER] c
WHERE EXISTS (SELECT 1
FROM [cteAGENTS] p WHERE c.[AGENT_CODE] = p.[CODE]
)
)
DELETE [cteCUSTOMER];
WITH [cteAGENTS] AS (
SELECT *
FROM [dbo].[AGENTS]
WHERE 1=1
)
DELETE [cteAGENTS];
SET @RowsAffected = @@ROWCOUNT;