if exists (select * from sysobjects where id = object_id('dbo.sp_deleteOrphans') and sysstat & 0xf = 4) drop procedure dbo.sp_deleteOrphans GO Create Procedure sp_deleteOrphans @PrimeTable varchar(30), @ChildTable varchar(30), @LinkField int As Begin Tran Exec ('Delete from ' + @ChildTable + ' Where not exists (select * from '+ @PrimeTable +' where ' + @PrimeTable + '.' + @Linkfield + '=' + @ChildTable + '.' + @LinkField +')') If @@error <>0 rollback Else commit tran return (0) GO