--le but de ce script est de suivre la vie d'un foyer domestique pendant 50 ans. Une fois créés les tables (partie 1), la partie 2 est répetée une fois pour chaque foyer (50 dans la thèse) declare @year, @tab, @tab2, @tempo; set @year = 1; while @year < 51 --partie 1 : créer 50 tables, de t1 a t50, une pour chaque année de vie du foyer domestique. begin SET @tab = 'foyers' + CAST (@year AS STRING); -- Casts @I SET @tab2 = CAST (@year AS STRING); -- Casts @I CREATE TABLE @tab ( "Time" double precision, "Simulation"double precision, "Id"double precision, "Xmodel"double precision, "Ymodel"double precision, "NbPersons"double precision, "NbFamilies"double precision, "NbHouseholds"double precision, "TimeStart"double precision, "TimeEnd"double precision, "05Living"double precision, "05dead"double precision, "05sent"double precision, "05received"double precision, "515Living"double precision, "515dead"double precision, "515sent"double precision, "515received"double precision, "1517Living"double precision, "1517dead"double precision, "1517sent"double precision, "1517received"double precision, "1725Living"double precision, "1725dead"double precision, "1725sent"double precision, "1725received"double precision, "25+Living"double precision, "25+dead"double precision, "60-Living"double precision, "60-dead"double precision, "60-sent"double precision, "60-received"double precision, "60+Living"double precision, "60+dead"double precision, "60+sent"double precision, "60+received"double precision, "EntryMales"double precision, "EntryFemales"double precision, "OutputMales"double precision, "OutputFemales"double precision, "IdScissionFrom"double precision, "NbBovins"double precision, "NbCaprins"double precision, "NbPorcins"double precision, "GainsBovins"double precision, "GainsCaprins"double precision, "GainsPorcins"double precision, "Hunting"double precision, "Picking"double precision, "Seed"double precision, "NetCrop"double precision ) WITH ( OIDS=FALSE ); SET @year = @year + 1; END --partie 2 : extraire les données d'un foyer domestique. --year = année de fondation du foyer set @year = 500; set @tempo = 1; while @tempo < 51 --boucle pour extraire les données begin SET @tab = 'sites' + CAST (@year AS STRING); INSERT INTO foyers@tempo SELECT * FROM public.@tab WHERE --id = numéro d'identification du foyer @tab."Id" = 54045; set @tempo = @tempo +1; set @year = @year+1; END