9 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			9 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| TYPE=TRIGGERS
 | |
| triggers='CREATE DEFINER=`root`@`localhost` TRIGGER trg_scd_bi_guard\nBEFORE INSERT ON dwgdoc_contract_dwg\nFOR EACH ROW\nBEGIN\n  DECLARE v_doc_proj INT;\n  DECLARE v_doc_type_code VARCHAR(20);\n  DECLARE v_dwg_proj INT;\n\n  \n  SELECT t.project_id, dt.code\n    INTO v_doc_proj, v_doc_type_code\n  FROM technicaldocs t\n  JOIN document_types dt ON dt.document_types_id = t.document_type_id\n  WHERE t.id = NEW.technical_doc_id;\n\n  IF v_doc_proj IS NULL THEN\n    SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'technical_doc not found\';\n  END IF;\n  IF v_doc_type_code <> \'DWG\' THEN\n    SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'technical_doc must be type DWG\';\n  END IF;\n\n  \n  SELECT project_id INTO v_dwg_proj FROM contract_dwg WHERE condwg_id = NEW.condwg_id;\n  IF v_dwg_proj IS NULL THEN\n    SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'contract_dwg not found\';\n  END IF;\n  IF v_dwg_proj <> v_doc_proj THEN\n    SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'DWG doc and contract_dwg must be in the same project\';\n  END IF;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_scd_bu_block_update\nBEFORE UPDATE ON dwgdoc_contract_dwg\nFOR EACH ROW\nBEGIN\n  SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'Update not allowed; delete then insert\';\nEND'
 | |
| sql_modes=1411383296 1411383296
 | |
| definers='root@localhost' 'root@localhost'
 | |
| client_cs_names='utf8mb4' 'utf8mb4'
 | |
| connection_cl_names='utf8mb4_general_ci' 'utf8mb4_general_ci'
 | |
| db_cl_names='utf8mb4_general_ci' 'utf8mb4_general_ci'
 | |
| created=1759220383708744 1759220383819565
 |