9 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			9 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| TYPE=TRIGGERS
 | |
| triggers='CREATE DEFINER=`root`@`localhost` TRIGGER trg_subcat_before_insert\nBEFORE INSERT ON contract_dwg_sub_cat\nFOR EACH ROW\nBEGIN\n  SET NEW.sub_cat_name = TRIM(NEW.sub_cat_name);\n  IF NEW.sub_cat_code IS NOT NULL THEN\n    SET NEW.sub_cat_code = TRIM(NEW.sub_cat_code);\n  END IF;\n\n  SET NEW.created_at = CURRENT_TIMESTAMP;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_subcat_before_update\nBEFORE UPDATE ON contract_dwg_sub_cat\nFOR EACH ROW\nBEGIN\n  DECLARE v_map_cnt INT DEFAULT 0;\n  DECLARE v_dwg_cnt INT DEFAULT 0;\n  IF NEW.sub_cat_name IS NOT NULL THEN\n    SET NEW.sub_cat_name = TRIM(NEW.sub_cat_name);\n  END IF;\n  IF NEW.sub_cat_code IS NOT NULL THEN\n    SET NEW.sub_cat_code = TRIM(NEW.sub_cat_code);\n  END IF;\n\n  \n  IF NEW.project_id <> OLD.project_id THEN\n    SELECT COUNT(*) INTO v_map_cnt\n    FROM contract_dwg_subcat_cat_map m\n    WHERE m.project_id = OLD.project_id\n      AND m.sub_cat_id = OLD.sub_cat_id;\n\n    SELECT COUNT(*) INTO v_dwg_cnt\n    FROM contract_dwg d\n    WHERE d.project_id = OLD.project_id\n      AND d.sub_cat_id = OLD.sub_cat_id;\n\n    IF v_map_cnt > 0 OR v_dwg_cnt > 0 THEN\n      SIGNAL SQLSTATE \'45000\'\n        SET MESSAGE_TEXT = \'Cannot change sub-category project_id: drawings or mappings exist\';\n    END IF;\n  END IF;\n\n  SET NEW.updated_at = CURRENT_TIMESTAMP;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_subcat_before_delete\nBEFORE DELETE ON contract_dwg_sub_cat\nFOR EACH ROW\nBEGIN\n  DECLARE v_dwg_cnt INT DEFAULT 0;\n  DECLARE v_map_cnt INT DEFAULT 0;\n\n  SELECT COUNT(*) INTO v_dwg_cnt\n  FROM contract_dwg d\n  WHERE d.project_id = OLD.project_id\n    AND d.sub_cat_id = OLD.sub_cat_id;\n\n  SELECT COUNT(*) INTO v_map_cnt\n  FROM contract_dwg_subcat_cat_map m\n  WHERE m.project_id = OLD.project_id\n    AND m.sub_cat_id = OLD.sub_cat_id;\n\n  IF v_dwg_cnt > 0 THEN\n    SIGNAL SQLSTATE \'45000\'\n      SET MESSAGE_TEXT = \'Cannot delete sub-category: drawings exist in this sub-category\';\n  END IF;\n\n  IF v_map_cnt > 0 THEN\n    SIGNAL SQLSTATE \'45000\'\n      SET MESSAGE_TEXT = \'Cannot delete sub-category: it is mapped to categories\';\n  END IF;\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=1757826197325614 1757826197449397 1757826197604135
 |