====== pears.DBCleanupOrphanOLEDocument ====== Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace. ===== Original SQL ===== COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."DBCleanupOrphanOLEDocument" IS {create function DBCleanupOrphanOLEDocument /* Application Maintained Function / Procedure - DO NOT EDIT*/ (in countordo char(1)) returns integer begin declare @RC integer; set @RC = 0; if countordo = 'C' then select count(*) into @RC from OLEDocument where ( ((ownertype = 'P') and not exists(select * from person where personid = OLEDocument.ownerid)) or ((ownertype = 'C') and not exists(select * from company where companyid = OLEDocument.ownerid)) or ((ownertype = 'V') and not exists(select * from vacancy where vacancyid = OLEDocument.ownerid)) or ((ownertype = 'R') and not exists(select * from progress where progressid = OLEDocument.ownerid)) or ((ownertype = 'L') and not exists(select * from placement where placementid = OLEDocument.ownerid)) ); return @RC end if; delete from OLEDocument where(ownertype = 'P') and not exists(select * from person where personid = OLEDocument.ownerid); set @RC = @RC + (select @@rowcount); delete from OLEDocument where(ownertype = 'C') and not exists(select * from company where companyid = OLEDocument.ownerid); set @RC = @RC + (select @@rowcount); delete from OLEDocument where(ownertype = 'V') and not exists(select * from vacancy where vacancyid = OLEDocument.ownerid); set @RC = @RC + (select @@rowcount); delete from OLEDocument where(ownertype = 'R') and not exists(select * from progress where progressid = OLEDocument.ownerid); set @RC = @RC + (select @@rowcount); delete from OLEDocument where(ownertype = 'L') and not exists(select * from placement where placementid = OLEDocument.ownerid); set @RC = @RC + (select @@rowcount); call AuditLog('CLEANUP',null,string(@RC,' Unattached OLEDocument Records deleted '),null,null); return @RC; end }