9 lines
1.8 KiB
Plaintext
9 lines
1.8 KiB
Plaintext
TYPE=TRIGGERS
|
|
triggers='CREATE DEFINER=`root`@`localhost` TRIGGER trg_tra_items_bi_guard\nBEFORE INSERT ON transmittal_items\nFOR EACH ROW\nBEGIN\n DECLARE v_type_code VARCHAR(20);\n DECLARE v_hdr_proj INT;\n DECLARE v_item_proj INT;\n\n IF NEW.transmittal_corr_id = NEW.item_corr_id THEN\n SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'transmittal cannot include itself as an item\';\n END IF;\n\n SELECT t.type_code, c.project_id\n INTO v_type_code, v_hdr_proj\n FROM correspondences c\n JOIN correspondence_types t ON t.type_id = c.correspondence_type_id\n WHERE c.corr_id = NEW.transmittal_corr_id;\n\n IF v_type_code IS NULL THEN\n SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'Transmittal header not found\';\n END IF;\n IF v_type_code <> \'TRANSMITTAL\' THEN\n SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'transmittal_corr_id must be type TRANSMITTAL\';\n END IF;\n\n SELECT project_id INTO v_item_proj FROM correspondences WHERE corr_id = NEW.item_corr_id;\n IF v_item_proj IS NULL THEN\n SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'item correspondence not found\';\n END IF;\n\n IF v_hdr_proj <> v_item_proj THEN\n SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'Transmittal header and item must be in the same project\';\n END IF;\nEND' 'CREATE DEFINER=`root`@`localhost` TRIGGER trg_tra_items_bu_guard\nBEFORE UPDATE ON transmittal_items\nFOR EACH ROW\nBEGIN\n SIGNAL SQLSTATE \'45000\' SET MESSAGE_TEXT=\'Update on transmittal_items is not allowed; delete and re-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=1757826195236336 1757826195337401
|