我创建了两个名为snag_list和defect_list的表。当所有defect_list状态应为2
时,我需要将snag_list的status字段更改为2答案 0 :(得分:0)
不确定这是否有帮助,但尝试为defect_list创建触发器 并检查状态列的非重复计数,如果它是1并且值为2然后更新snag_list,示例将如下所示
DELIMITER $$
CREATE TRIGGER checkstatus
AFTER UPDATE ON defect_list
FOR EACH ROW
BEGIN
DECLARE cnt INT
SELECT COUNT(DISTINCT status) FROM defect_list INTO cnt
DECLARE st INT
SELECT DISTINCT status FROM defect_list LIMIT 1 INTO st
IF(cnt = 1 AND st = 2)
UPDATE snag_list SET status = 2
ENF IF
END$$
DELIMITER ;
答案 1 :(得分:0)
您的问题非常模糊,但我想这正是您可能正在寻找的。 p>
DECLARE
count_rec VARCHAR2(10);
data_rec VARCHAR2(10);
BEGIN
SELECT COUNT(DISTINCT status) INTO count_rec FROM defect_list;
SELECT DISTINCT status INTO data_rec FROM defect_list;
IF (count_rec = '1' AND data_rec = '2') THEN
UPDATE snag_list SET status = '2';
END IF;
END;
编辑 - >您可以根据需要更改2个变量的数据类型。如果您不确定数据是否为数字,请使用VARCHAR2。