我正在尝试更多地了解 mysql 中的触发器,所以请耐心等待。我有两张桌子,
TestTable
(id INTEGER PRIMARY KEY AUTO_INCREMENT, ItemId INTEGER,Date date, Value REAL)
TestTable2
(id INTEGER PRIMARY KEY AUTO_INCREMENT, ItemId INTEGER,Year INTEGER, Month INTEGER, Open REAL, Close REAL, Increase REAL)
Run Code Online (Sandbox Code Playgroud)
其中表 TestTable 是特定日期某个项目的测量值。测试表 2 包含特定月份、年份的测量值以及此期间的增量。
我想创建一个触发器,当我将值插入到 TestTable 中时,它会更新或将值插入到 TestTable2 中。
这就是我尝试创建的触发器的样子,
CREATE TRIGGER 'monthUpdateTrigger' AFTER INSERT ON TestTable
BEGIN
IF NOT (EXISTS (SELECT 1 FROM TestTable2 WHERE
(ItemId=NEW.ItemId AND Year=YEAR(NEW.Date) AND Month=MONTH(NEW.Date))))
THEN
INSERT INTO TestTable2 (ItemId,Year,Month,Open,Close,Increase ) VALUES
(NEW.ItemId , YEAR(NEW.Date), MONTH(NEW.Date),NEW.Value,NEW.Close,0.0);
ELSE
UPDATE TestTable2 SET Close=NEW.Close AND …
Run Code Online (Sandbox Code Playgroud)