begin; DROP VIEW vw_fiche_def; DROP VIEW vw_supplier; DROP VIEW vw_client; alter table fiche_def alter fd_class_base type text; CREATE OR REPLACE VIEW vw_fiche_def AS SELECT jnt_fic_attr.fd_id, jnt_fic_attr.ad_id, attr_def.ad_text, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def.frd_id FROM fiche_def JOIN jnt_fic_attr USING (fd_id) JOIN attr_def ON attr_def.ad_id = jnt_fic_attr.ad_id; COMMENT ON VIEW vw_fiche_def IS 'all the attributs for card family'; CREATE OR REPLACE VIEW vw_supplier AS SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 1) a JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) WHERE a.frd_id = 8; CREATE OR REPLACE VIEW vw_client AS SELECT a.f_id, a.av_text AS name, a1.av_text AS quick_code, b.av_text AS tva_num, c.av_text AS poste_comptable, d.av_text AS rue, e.av_text AS code_postal, f.av_text AS pays, g.av_text AS telephone, h.av_text AS email FROM ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 1) a JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 13) b USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 23) a1 USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 5) c USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 14) d USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 15) e USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 16) f USING (f_id) JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 17) g USING (f_id) LEFT JOIN ( SELECT jnt_fic_att_value.jft_id, fiche.f_id, fiche_def.frd_id, fiche.fd_id, fiche_def.fd_class_base, fiche_def.fd_label, fiche_def.fd_create_account, fiche_def_ref.frd_text, fiche_def_ref.frd_class_base, jnt_fic_att_value.ad_id, attr_value.av_text FROM fiche JOIN fiche_def USING (fd_id) JOIN fiche_def_ref USING (frd_id) JOIN jnt_fic_att_value USING (f_id) JOIN attr_value USING (jft_id) WHERE jnt_fic_att_value.ad_id = 18) h USING (f_id) WHERE a.frd_id = 9; CREATE OR REPLACE FUNCTION fiche_def_ins_upd() RETURNS "trigger" AS $BODY$ begin if position (',' in NEW.fd_class_base) != 0 then NEW.fd_create_account='f'; end if; return NEW; end;$BODY$ LANGUAGE 'plpgsql'; CREATE TRIGGER fiche_def_ins_upd BEFORE INSERT OR UPDATE ON fiche_def FOR EACH ROW EXECUTE PROCEDURE fiche_def_ins_upd(); ALTER TABLE stock_goods DROP CONSTRAINT fk_stock_good_f_id; ALTER TABLE stock_goods ADD CONSTRAINT fk_stock_good_f_id FOREIGN KEY (f_id) REFERENCES fiche (f_id) MATCH SIMPLE ON UPDATE cascade ON DELETE cascade; update version set val=68; commit;