如何在sql中插入和更新虚拟表到主表的记录

时间:2015-04-07 15:08:42

标签: mysql sql-server

我希望在两个条件相同的情况下,将具有相同属性的虚拟表和主表中的记录插入和更新。 示例如果两个表中的Id和Date部分相同,则应更新记录 如果伪表中的id不相同,则应插入记录 如果id相同但虚拟中的日期不同,则还应插入记录

1 个答案:

答案 0 :(得分:0)

你可以使用触发器。例如,设置触发器以插入表格 -

delimiter |
CREATE TRIGGER testref BEFORE INSERT ON empsalarydummy
  FOR EACH ROW
  BEGIN
    INSERT INTO empsalary VALUES (NEW.ID, NEW.NAME, NEW.SALARYDATE, NEW.SALARY, NEW.RANK);
  END;
|

我已将其设置为插入。我们也可以将其设置为更新示例 -

DELIMITER ///

CREATE TRIGGER ins_sum AFTER UPDATE ON empsalarydummy
    FOR EACH ROW
    BEGIN            
            UPDATE empsalary SET SALARY=NEW.SALARY WHERE SALARY=OLD.SALARY;
    END;
///