begin; update attr_def set ad_text='Compte bancaire' where ad_id=3; ALTER TABLE mod_payment DROP CONSTRAINT mod_payment_mp_fd_id_fkey ; ALTER TABLE mod_payment ADD CONSTRAINT mod_payment_mp_fd_id_fkey FOREIGN KEY (mp_fd_id) REFERENCES fiche_def (fd_id) MATCH SIMPLE ON UPDATE cascade ON DELETE cascade; ALTER TABLE mod_payment DROP CONSTRAINT mod_payment_mp_jrn_def_id_fkey ; ALTER TABLE mod_payment ADD CONSTRAINT mod_payment_mp_jrn_def_id_fkey FOREIGN KEY (mp_jrn_def_id) REFERENCES jrn_def (jrn_def_id) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE fiche_def ADD COLUMN fd_description text; update fiche_def set fd_description='Achats de marchandises' where fd_id=1; update fiche_def set fd_description='Catégorie qui contient la liste des clients' where fd_id=2; update fiche_def set fd_description='Catégorie qui contient la liste des comptes financiers: banque, caisse,...' where fd_id=3; update fiche_def set fd_description='Catégorie qui contient la liste des fournisseurs' where fd_id=4; update fiche_def set fd_label='Services & Biens Divers',fd_description='Catégorie qui contient la liste des charges diverses' where fd_id=5; update fiche_def set fd_description='Catégorie qui contient la liste des prestations, marchandises... que l''on vend ' where fd_id=6; update jrn_def set jrn_deb_max_line=5 where jrn_deb_max_line is null; CREATE OR REPLACE FUNCTION comptaproc.periode_exist(p_date text,p_periode_id bigint) RETURNS integer AS $function$ declare n_p_id int4; begin select p_id into n_p_id from parm_periode where p_start <= to_date(p_date,'DD.MM.YYYY') and p_end >= to_date(p_date,'DD.MM.YYYY') and p_id <> p_periode_id; if NOT FOUND then return -1; end if; return n_p_id; end;$function$ LANGUAGE plpgsql; create or replace function comptaproc.check_periode () returns trigger as $$ declare nPeriode int; begin if periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) <> -1 then nPeriode:=periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) ; raise info 'Overlap periode start % periode %',NEW.p_start,nPeriode; return null; end if; if periode_exist(to_char(NEW.p_end,'DD.MM.YYYY'),NEW.p_id) <> -1 then nPeriode:=periode_exist(to_char(NEW.p_start,'DD.MM.YYYY'),NEW.p_id) ; raise info 'Overlap periode end % periode %',NEW.p_end,nPeriode; return null; end if; return NEW; end; $$ language plpgsql ; create trigger parm_periode_check_periode_trg before update or insert on parm_periode for each row execute procedure check_periode(); update version set val=107; commit;