触发器是遵循ECA规则的,动态数据库中的一种机制。
所谓的ECA规则包括:
- Event:指发生的事件
- Conditon:指满足的条件
- Action:指采取的行动
所以,ECA代表的含义是,当事件发生,检查它的条件,如果满足就采取某种行动。
在不同的数据库中创建trigger的语法并不完全相同:
-- SQL server
CREATE TRIGGER tr_cities ON cities AFTER INSERT
AS
BEGIN
UPDATE cities
SET created = GETDATE()
FROM inserted
WHERE cities.id = inserted.id;
END
GO
--Oracle
CREATE TRIGGER tr_cities BEFORE INSERT ON cities
FOR EACH ROW
BEGIN
:new.created := SYSDATE;
END;