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:
55
static/MySQL/361_tri_Shop_User.sql
Normal file
55
static/MySQL/361_tri_Shop_User.sql
Normal file
@@ -0,0 +1,55 @@
|
||||
|
||||
# Shop User
|
||||
|
||||
USE PARTSLTD_PROD;
|
||||
|
||||
DROP TRIGGER IF EXISTS before_insert_Shop_User;
|
||||
DROP TRIGGER IF EXISTS before_update_Shop_User;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_insert_Shop_User
|
||||
BEFORE INSERT ON Shop_User
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF NEW.created_on <=> NULL THEN
|
||||
SET NEW.created_on = NOW();
|
||||
END IF;
|
||||
IF NEW.created_by <=> NULL THEN
|
||||
SET NEW.created_by = CURRENT_USER();
|
||||
END IF;
|
||||
END //
|
||||
DELIMITER ;
|
||||
|
||||
|
||||
DELIMITER //
|
||||
CREATE TRIGGER before_update_Shop_User
|
||||
BEFORE UPDATE ON Shop_User
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
IF OLD.id_change_set <=> NEW.id_change_set THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'New change Set ID must be provided.';
|
||||
END IF;
|
||||
|
||||
INSERT INTO Shop_User_Audit (
|
||||
id_user,
|
||||
name_field,
|
||||
value_prev,
|
||||
value_new,
|
||||
id_change_set
|
||||
)
|
||||
# Changed name
|
||||
SELECT NEW.id_user, 'name', OLD.name, NEW.name, NEW.id_change_set
|
||||
WHERE NOT (OLD.name <=> NEW.name)
|
||||
UNION
|
||||
# Changed is_super_user
|
||||
SELECT NEW.id_user, 'is_super_user', CONVERT(CONVERT(OLD.is_super_user, SIGNED), CHAR), CONVERT(CONVERT(NEW.is_super_user, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.is_super_user <=> NEW.is_super_user)
|
||||
UNION
|
||||
# Changed active
|
||||
SELECT NEW.id_user, 'active', CONVERT(CONVERT(OLD.active, SIGNED), CHAR), CONVERT(CONVERT(NEW.active, SIGNED), CHAR), NEW.id_change_set
|
||||
WHERE NOT (OLD.active <=> NEW.active)
|
||||
;
|
||||
END //
|
||||
DELIMITER ;
|
||||
Reference in New Issue
Block a user