1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| set term ^;
create procedure PurgerBase
as
declare variable lesSimulations varchar(50);
declare variable lesDomaines varchar(50);
declare variable lePrefixe varchar(20);
declare variable laTable varchar(40);
declare variable laRequete varchar(256);
BEGIN
lesSimulations='select SimKey from Simulation where SimDeleted=0';
lesDomaines='select DomRowId from HSYS_Domaines';
for select TsvNomTable,TsvPrefixeChamp from tsversion into laTable,lePrefixe
do begin
laRequete='update '||laTable||' set '||:lePrefixe||'Deleted=1 ';
laRequete=:laRequete||'where ('||:lePrefixe||'Simulation>0 and ';
laRequete=:laRequete||:lePrefixe||'Simulation not in ('||:lesSimulations||')) or ';
laRequete=:laRequete||:lePrefixe||'Domaine not in ('||:lesDomaines||')';
execute statement :laRequete;
suspend;
end
END ^
set term; ^ |