This repository has been archived on 2023-10-28. You can view files and clone it, but cannot push or open issues or pull requests.
pwt-0x01-ng/Sqlscripts/create_triggers.sql
surtur 1442a2a664
All checks were successful
continuous-integration/drone/push Build is passing
chore: bind the new."attr" as we're using postgres
closes #2
  closes #3
  accompanied by create_triggers script that creates triggers in the
  subject columns to update the "Updated" value just before the column
  update occurs
2021-01-03 02:38:26 +01:00

60 lines
1.6 KiB
PL/PgSQL

DROP TRIGGER IF EXISTS trigger_updated ON "Order";
CREATE OR REPLACE FUNCTION updatedattr() RETURNS trigger
AS $func$
BEGIN
NEW."Updated" := now();
NEW."Created" := OLD."Created";
RAISE NOTICE 'Order updated ''%'' on %', OLD."Order_Number", NEW."Updated";
RETURN NEW;
END;
$func$ LANGUAGE plpgsql;
CREATE TRIGGER trigger_updated
BEFORE UPDATE ON "Order"
FOR EACH ROW
EXECUTE PROCEDURE updatedattr();
DROP TRIGGER IF EXISTS trigger_updated ON "Product";
CREATE OR REPLACE FUNCTION updatedattr() RETURNS trigger
AS $func$
BEGIN
NEW."Updated" := now();
NEW."Created" := OLD."Created";
RAISE NOTICE 'Product updated ''%'' on %', OLD."id", NEW."Updated";
RETURN NEW;
END;
$func$ LANGUAGE plpgsql;
CREATE TRIGGER trigger_updated
BEFORE UPDATE ON "Product"
FOR EACH ROW
EXECUTE PROCEDURE updatedattr();
DROP TRIGGER IF EXISTS trigger_updated ON "OrderItem";
CREATE OR REPLACE FUNCTION updatedattr() RETURNS trigger
AS $func$
BEGIN
NEW."Updated" := now();
NEW."Created" := OLD."Created";
RAISE NOTICE 'OrderItem updated ''%'' on %', OLD."id", NEW."Updated";
RETURN NEW;
END;
$func$ LANGUAGE plpgsql;
CREATE TRIGGER trigger_updated
BEFORE UPDATE ON "OrderItem"
FOR EACH ROW
EXECUTE PROCEDURE updatedattr();
DROP TRIGGER IF EXISTS trigger_updated ON "Carousel";
CREATE OR REPLACE FUNCTION updatedattr() RETURNS trigger
AS $func$
BEGIN
NEW."Updated" := now();
NEW."Created" := OLD."Created";
RAISE NOTICE 'Carousel updated ''%'' on %', OLD."id", NEW."Updated";
RETURN NEW;
END;
$func$ LANGUAGE plpgsql;
CREATE TRIGGER trigger_updated
BEFORE UPDATE ON "Carousel"
FOR EACH ROW
EXECUTE PROCEDURE updatedattr();