PostgreSQL等同于SQL合并触发器和插入表

问题描述 投票:0回答:1

我是数据库触发器/ 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脚本是什么?

sql postgresql merge triggers
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.