0

I got Merge statement in Oracle (migrating to EDB Postgres), but unfortunately, EDB postgres doesn't support merge statement.

So how to rewrite below merge statement using INSERT and UPDATE.

BEGIN

        Merge into sds_dia_error_per_min_data using dual
        on (sde_date = in_date and sde_inst_name = in_inst_name
        and sde_interface_name = in_interface_name and sde_command_code = in_command_code and sde_result_code = in_result_code)
        when matched then
        update set
        sde_error_sent = sde_error_sent + in_error_sent,
        sde_error_received = sde_error_received + in_error_received
        WHEN NOT MATCHED THEN
        Insert (sde_date,sde_inst_name,sde_interface_name,sde_command_code,sde_result_code,sde_error_sent,
        sde_error_received)
        values
        (in_date,in_inst_name,in_interface_name,
        in_command_code,in_result_code,in_error_sent,
        in_error_received);

        out_status := 0 ;
COMMIT;

0 Answers0