Files
lcbp3.np-dms.work/mariadb/data/dms/contract_dwg_subcat_cat_map.TRG
2025-09-30 16:38:37 +07:00

9 lines
2.1 KiB
Plaintext

TYPE=TRIGGERS
triggers='CREATE DEFINER=`root`@`localhost` TRIGGER trg_map_before_insert\nBEFORE INSERT ON contract_dwg_subcat_cat_map\nFOR EACH ROW\nBEGIN\n DECLARE v_cnt INT DEFAULT 0;\n\n \n SELECT COUNT(*) INTO v_cnt\n FROM contract_dwg_sub_cat sc\n WHERE sc.sub_cat_id = NEW.sub_cat_id\n AND sc.project_id = NEW.project_id;\n IF v_cnt = 0 THEN\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'Invalid sub_cat_id: must belong to the same project (map)\';\n END IF;\n\n \n SELECT COUNT(*) INTO v_cnt\n FROM contract_dwg_cat c\n WHERE c.cat_id = NEW.cat_id\n AND c.project_id = NEW.project_id;\n IF v_cnt = 0 THEN\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'Invalid cat_id: must belong to the same project (map)\';\n END IF;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_map_before_update\nBEFORE UPDATE ON contract_dwg_subcat_cat_map\nFOR EACH ROW\nBEGIN\n DECLARE v_cnt INT DEFAULT 0;\n\n \n IF NEW.project_id <> OLD.project_id THEN\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'Changing project_id on mapping is not allowed\';\n END IF;\n\n \n SELECT COUNT(*) INTO v_cnt\n FROM contract_dwg_sub_cat sc\n WHERE sc.sub_cat_id = NEW.sub_cat_id\n AND sc.project_id = NEW.project_id;\n IF v_cnt = 0 THEN\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'Invalid sub_cat_id after update: must be same project\';\n END IF;\n\n SELECT COUNT(*) INTO v_cnt\n FROM contract_dwg_cat c\n WHERE c.cat_id = NEW.cat_id\n AND c.project_id = NEW.project_id;\n IF v_cnt = 0 THEN\n SIGNAL SQLSTATE \'45000\'\n SET MESSAGE_TEXT = \'Invalid cat_id after update: must be same project\';\n END IF;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_map_before_delete\nBEFORE DELETE ON contract_dwg_subcat_cat_map\nFOR EACH ROW\nBEGIN\n \n \nEND'
sql_modes=1411383296 1411383296 1411383296
definers='root@localhost' 'root@localhost' 'root@localhost'
client_cs_names='utf8mb4' 'utf8mb4' 'utf8mb4'
connection_cl_names='utf8mb4_general_ci' 'utf8mb4_general_ci' 'utf8mb4_general_ci'
db_cl_names='utf8mb4_general_ci' 'utf8mb4_general_ci' 'utf8mb4_general_ci'
created=1759220381718496 1759220381824403 1759220382028445