====== pears.DBCleanupOrphanTagValue ====== 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"."DBCleanupOrphanTagValue" IS {create function DBCleanupOrphanTagValue /* 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 tagvalue where ( (((taglocation = 'P') or (taglocation like 'A%')) and not exists(select * from person where personid = tagvalue.id)) or ((taglocation = 'E') and not exists(select * from employment where employmentid = tagvalue.id)) or ((taglocation = 'C') and not exists(select * from company where companyid = tagvalue.id)) or ((taglocation like 'V%') and not exists(select * from vacancy where vacancyid = tagvalue.id)) or ((taglocation like 'L%') and not exists(select * from placement where placementid = tagvalue.id)) or ((taglocation = 'U') and not exists(select * from staff where staffid = tagvalue.id)) or ((taglocation = 'N') and not exists(select * from contactevent where contacteventid = tagvalue.id)) ); return @RC end if; delete from tagvalue where((taglocation = 'P') or(taglocation like 'A%')) and not exists(select * from person where personid = tagvalue.id); set @RC = @RC + (select @@rowcount); delete from tagvalue where(taglocation = 'C') and not exists(select * from company where companyid = tagvalue.id); delete from tagvalue where(taglocation = 'E') and not exists(select * from employment where employmentid = tagvalue.id); set @RC = @RC + (select @@rowcount); delete from tagvalue where(taglocation like 'V%') and not exists(select * from vacancy where vacancyid = tagvalue.id); set @RC = @RC + (select @@rowcount); delete from tagvalue where(taglocation like 'L%') and not exists(select * from placement where placementid = tagvalue.id); set @RC = @RC + (select @@rowcount); delete from tagvalue where(taglocation = 'U') and not exists(select * from staff where staffid = tagvalue.id); set @RC = @RC + (select @@rowcount); delete from tagvalue where(taglocation = 'N') and not exists(select * from contactevent where contacteventid = tagvalue.id); set @RC = @RC + (select @@rowcount); call AuditLog('CLEANUP',null,string(@RC,' Unattached Question Answers deleted '),null,null); return @RC; end }