1. PostgreSQL copy of all MySQL created and tested.\n 2. Purchase Orders and Sales Orders and stock level management added to MySQL, PostgreSQL, and server and front end code.
This commit is contained in:
63
static/PostgreSQL/367_tri_Shop_User_Basket.sql
Normal file
63
static/PostgreSQL/367_tri_Shop_User_Basket.sql
Normal file
@@ -0,0 +1,63 @@
|
||||
|
||||
-- Shop Product Variation Link
|
||||
|
||||
CREATE OR REPLACE FUNCTION before_insert_Shop_User_Basket()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
IF NEW.created_on IS NULL THEN
|
||||
NEW.created_on = CURRENT_TIMESTAMP;
|
||||
END IF;
|
||||
IF NEW.created_by IS NULL THEN
|
||||
NEW.created_by = CURRENT_USER;
|
||||
END IF;
|
||||
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER tri_before_insert_Shop_User_Basket
|
||||
BEFORE INSERT ON Shop_User_Basket
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION before_insert_Shop_User_Basket();
|
||||
|
||||
|
||||
CREATE OR REPLACE FUNCTION before_update_Shop_User_Basket()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
IF NEW.id_change_set_user <=> OLD.id_change_set_user THEN
|
||||
RAISE EXCEPTION 'New change Set ID must be provided.'
|
||||
USING ERRCODE = '45000';
|
||||
END IF;
|
||||
|
||||
INSERT INTO Shop_User_Basket_Audit (
|
||||
id_item,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set_user
|
||||
)
|
||||
-- Changed id_user
|
||||
SELECT NEW.id_item, 'id_user', OLD.id_user, NEW.id_user, NEW.id_change_set_user
|
||||
WHERE NOT OLD.id_user <=> NEW.id_user
|
||||
UNION
|
||||
-- Changed id_product
|
||||
SELECT NEW.id_item, 'id_product', OLD.id_product, NEW.id_product, NEW.id_change_set_user
|
||||
WHERE NOT OLD.id_product <=> NEW.id_product
|
||||
UNION
|
||||
-- Changed quantity
|
||||
SELECT NEW.id_item, 'quantity', CONVERT(OLD.quantity, CHAR), CONVERT(NEW.quantity, CHAR), NEW.id_change_set_user
|
||||
WHERE NOT (OLD.quantity <=> NEW.quantity)
|
||||
UNION
|
||||
-- Changed active
|
||||
SELECT NEW.id_item, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set_user
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
CREATE OR REPLACE TRIGGER tri_before_update_Shop_User_Basket
|
||||
BEFORE UPDATE ON Shop_User_Basket
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION before_update_Shop_User_Basket();
|
||||
Reference in New Issue
Block a user