我是数据库触发器/ PostgreSQL的新手,正在尝试将以下SQL触发器转换为PostgreSQL。
SQL脚本:
CREATE TRIGGER tr_EmpMerger ON Emp INSTEAD OF INSERT
AS
BEGIN
MERGE INTO Emp AS Target
USING ( SELECT * FROM INSERTED ) AS Source
ON
( Target.EmpId = Source.EmpId
)
WHEN MATCHED THEN UPDATE SET
EmpName = Source.EmpName,
Age = Source.Age
WHEN NOT MATCHED THEN INSERT VALUES
(
Source.EmpId,
Source.EmpName,
Source.Age
);
END
GO
问题:
1)在PostgreSQL中,SQL的INSERTED表是否等效?如果没有,该怎么办?
2)PostgreSQL是否支持合并触发器?如果没有,该怎么办?
3)上述合并触发器的等效PostgreSQL脚本是什么?