Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Create type ComprositionPrixod AS (
- Id bigint,
- Name character varying,
- Count bigint,
- Price double precision
- );
- CREATE TABLE "Prixod" (
- "id" serial NOT NULL,
- "Date" timestamp without time zone,
- "OrgPostav" character varying,
- "NameSklad" character varying,
- "Сomposition" ComprositionPrixod[],
- "Operator" character varying,
- "Total" double precision DEFAULT sum(),
- CONSTRAINT Prixod_pk PRIMARY KEY ("id")
- ) WITH (
- OIDS=FALSE
- );
- select sum(u.price) from unnest(Сomposition) u
- CREATE OR REPLACE FUNCTION prixod_trigger_func() RETURNS trigger AS $TRIGGER$
- BEGIN
- NEW."Total" = (select sum(u.price) from unnest(NEW."Сomposition") u);
- return NEW;
- END;
- $TRIGGER$
- LANGUAGE plpgsql;
- CREATE TRIGGER prixod_trigger
- BEFORE INSERT OR UPDATE ON "Prixod" FOR EACH ROW
- EXECUTE PROCEDURE prixod_trigger_func();.
Add Comment
Please, Sign In to add comment