Insert, on duplicate update in PostgreSQL?

前端 未结 16 2648
别那么骄傲
别那么骄傲 2020-11-21 04:52

Several months ago I learned from an answer on Stack Overflow how to perform multiple updates at once in MySQL using the following syntax:

INSERT INTO table          


        
16条回答
  •  萌比男神i
    2020-11-21 05:35

    CREATE OR REPLACE FUNCTION save_user(_id integer, _name character varying)
      RETURNS boolean AS
    $BODY$
    BEGIN
        UPDATE users SET name = _name WHERE id = _id;
        IF FOUND THEN
            RETURN true;
        END IF;
        BEGIN
            INSERT INTO users (id, name) VALUES (_id, _name);
        EXCEPTION WHEN OTHERS THEN
                UPDATE users SET name = _name WHERE id = _id;
            END;
        RETURN TRUE;
    END;
    
    $BODY$
      LANGUAGE plpgsql VOLATILE STRICT
    

提交回复
热议问题