| 1 | /* ticket 110 Marion |
| 2 | problèmes de clés étrangères sur la base |
| 3 | */ |
| 4 | /* fonction ref.updatesql |
| 5 | Cette fonction permet de lancer des requêtes de mise à jour dans tous les schemas |
| 6 | */ |
| 7 | CREATE OR REPLACE FUNCTION ref.updatesql(myschemas varchar[],scriptsql text)RETURNS int AS $$ |
| 8 | DECLARE |
| 9 | totalcount int; |
| 10 | nbschema int; |
| 11 | i integer; |
| 12 | BEGIN |
| 13 | select INTO nbschema array_length(myschemas,1); |
| 14 | i=1; |
| 15 | While (i <=nbschema) LOOP |
| 16 | EXECUTE 'SET search_path TO '||myschemas[i]||', public'; |
| 17 | EXECUTE scriptsql; |
| 18 | i=i+1; |
| 19 | END LOOP; |
| 20 | RETURN nbschema; |
| 21 | END; |
| 22 | $$ |
| 23 | LANGUAGE 'plpgsql' ; |
| 24 | COMMENT ON FUNCTION ref.updatesql (myschemas varchar[],scriptsql text) IS 'fonction pour lancer un script de mise à jour sur chaque schema'; |
| 25 | |
| 26 | |
| 27 | /* |
| 28 | Insertions dans la tables des localisations anatomiques |
| 29 | */ |
3 | | INSERT INTO bgm.ts_maintenance_main(main_ticket,main_description) values ('122','Mise à jour des localisations anatomiques'); |
| 32 | INSERT INTO ref.tr_localisationanatomique_loc values ('P','Nageoire pelvienne'); |
| 33 | select ref.updatesql('{"azti","bgm","bresle","charente","fd80","iav","inra","logrami","migado","migradour","mrm","saumonrhin","smatah"}', |
| 34 | 'INSERT INTO bgm.ts_maintenance_main(main_ticket,main_description) values (''122'',''Mise à jour des localisations anatomiques'')'); |
| 35 | localisations anatomiques'); |