9 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			9 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| TYPE=TRIGGERS
 | |
| triggers='CREATE DEFINER=`root`@`localhost` TRIGGER trg_cdwg_bi_normalize\nBEFORE INSERT ON contract_dwg\nFOR EACH ROW\nBEGIN\n  SET NEW.condwg_no = TRIM(NEW.condwg_no);\n  SET NEW.title     = NULLIF(TRIM(NEW.title), \'\');\n\n  IF NEW.project_id IS NULL OR NEW.sub_cat_id IS NULL THEN\n    SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'project_id and sub_cat_id are required for contract_dwg\';\n  END IF;\n  IF NEW.condwg_no IS NULL OR NEW.condwg_no=\'\' THEN\n    SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'condwg_no is required\';\n  END IF;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_dwg_before_insert\nBEFORE INSERT ON contract_dwg\nFOR EACH ROW\nBEGIN\n  DECLARE v_cnt INT DEFAULT 0;\n\n  \n  SET NEW.condwg_no = TRIM(NEW.condwg_no);\n  IF NEW.title IS NOT NULL THEN\n    SET NEW.title = TRIM(NEW.title);\n  END IF;\n  IF NEW.remark IS NOT NULL THEN\n    SET NEW.remark = TRIM(NEW.remark);\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: must belong to same project\';\n  END IF;\n\n  \n  SELECT COUNT(*) INTO v_cnt\n  FROM contract_dwg_volume v\n  WHERE v.volume_id = NEW.volume_id\n    AND v.project_id = NEW.project_id;\n  IF v_cnt = 0 THEN\n    SIGNAL SQLSTATE \'45000\'\n      SET MESSAGE_TEXT = \'Invalid volume_id: must belong to same project\';\n  END IF;\n\n  SET NEW.created_at = CURRENT_TIMESTAMP;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_cdwg_bu_normalize\nBEFORE UPDATE ON contract_dwg\nFOR EACH ROW\nBEGIN\n  SET NEW.condwg_no = TRIM(NEW.condwg_no);\n  SET NEW.title     = NULLIF(TRIM(NEW.title), \'\');\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_dwg_before_update\nBEFORE UPDATE ON contract_dwg\nFOR EACH ROW\nBEGIN\n  DECLARE v_cnt INT DEFAULT 0;\n\n  \n  IF NEW.condwg_no IS NOT NULL THEN\n    SET NEW.condwg_no = TRIM(NEW.condwg_no);\n  END IF;\n  IF NEW.title IS NOT NULL THEN\n    SET NEW.title = TRIM(NEW.title);\n  END IF;\n  IF NEW.remark IS NOT NULL THEN\n    SET NEW.remark = TRIM(NEW.remark);\n  END IF;\n\n  \n  IF NEW.project_id <> OLD.project_id THEN\n    SIGNAL SQLSTATE \'45000\'\n      SET MESSAGE_TEXT = \'Changing drawing project_id 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  \n  SELECT COUNT(*) INTO v_cnt\n  FROM contract_dwg_volume v\n  WHERE v.volume_id = NEW.volume_id\n    AND v.project_id = NEW.project_id;\n  IF v_cnt = 0 THEN\n    SIGNAL SQLSTATE \'45000\'\n      SET MESSAGE_TEXT = \'Invalid volume_id after update: must be same project\';\n  END IF;\n\n  SET NEW.updated_at = CURRENT_TIMESTAMP;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_dwg_before_delete\nBEFORE DELETE ON contract_dwg\nFOR EACH ROW\nBEGIN\n  \n  \nEND'
 | |
| sql_modes=1411383296 1411383296 1411383296 1411383296 1411383296
 | |
| definers='root@localhost' 'root@localhost' 'root@localhost' 'root@localhost' 'root@localhost'
 | |
| client_cs_names='utf8mb4' 'utf8mb4' 'utf8mb4' 'utf8mb4' 'utf8mb4'
 | |
| connection_cl_names='utf8mb4_general_ci' 'utf8mb4_general_ci' 'utf8mb4_general_ci' 'utf8mb4_general_ci' 'utf8mb4_general_ci'
 | |
| db_cl_names='utf8mb4_general_ci' 'utf8mb4_general_ci' 'utf8mb4_general_ci' 'utf8mb4_general_ci' 'utf8mb4_general_ci'
 | |
| created=1759220379595746 1759220382757985 1759220379725392 1759220383012145 1759220383498581
 |