0
DROP TRIGGER IF EXISTS COPILOT_ASSIGNED;
DELIMITER //
CREATE TRIGGER COPILOT_ASSIGNED
BEFORE INSERT ON crew
FOR EACH ROW
BEGIN
IF CHAR_TRIP EXISTS AND CREW_JOB = 'Pilot'
THEN SET NEW.CREW_JOB = 'Copilot';
END IF;
END //
DELIMITER ;
INSERT INTO crew VALUES (10019, 109, 'Pilot');
INSERT INTO crew VALUES (10019, 106, 'Pilot');
SELECT * FROM crew WHERE CHAR_TRIP = 10019;
我无法确定如何写这个触发器。我需要检查一下包机(CREW_TRIP)是否已经被分配了一个飞行员(CREW_JOB)。如果是这样,则需要将试点改为副驾驶(CREW_JOB)。我需要构建一个单一的触发器,当一个飞行员已经被分配到一个章程时,分配一个飞行员作为副驾驶员
DROP TRIGGER IF EXISTS COPILOT_ASSIGNED; DELIMITER // CREATE TRIGGER COPILOT_ASSIGNED \t BEFORE INSERT ON船员 \t FOR EACH ROW BEGIN \t IF OLD.CREW_JOB = '先导' \t THEN SET NEW.CREW_JOB = '副驾驶'; \t END IF; END // \t DELIMITER; –