[SQL ] 如何新增紀錄時直接把資料搬到另一TABLE?
資料庫名稱: PostgreSQL
資料庫版本: 9.1
內容/問題描述:
我有個TABLE會一直接收設備的即時資訊 (以下稱"table_a"),
但有時會因為太晚才傳上來變得不即時
目前都是事後用人工方式
把那些不即時的紀錄另一個TABLE去 (以下稱"table_b")
我現在想要在 table_a 上寫一個Before INSERT Trigger
在INSERT前先檢查是否資料不符合需要
是, 則在 table_b 新增這筆紀錄, 而 table_a 不寫入
我的寫法是
IF <檢查不通過) THEN
INSERT INTO table_b (col1,col2,...) VALUES (NEW.col1,NEW.col2,...)
RAISE EXCEPTION '...';
END IF;
問題是
這樣子只是會放棄寫到 table_a, 但 table_b 一樣不會寫進去
有試過把 "RAISE EXCEPTION '...';" 拿掉,
則 table_b 會寫, 但 table_a 也會寫
要怎麼做才對?
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.194.114
※ 文章網址: http://www.ptt.cc/bbs/Database/M.1409837171.A.166.html
推
09/04 23:37, , 1F
09/04 23:37, 1F
→
09/05 02:26, , 2F
09/05 02:26, 2F