1. 程式人生 > >postgresql 實現自增ID 建立seq和觸發器

postgresql 實現自增ID 建立seq和觸發器

- 建立function
CREATE OR REPLACE FUNCTION user() RETURNS trigger AS $BODY$
BEGIN
    NEW.ID := nextval('user$seq');
    RETURN NEW;
END;
$BODY$
  LANGUAGE 'plpgsql';


- 建立trigger
CREATE TRIGGER user
    BEFORE INSERT ON user
    FOR EACH ROW
    WHEN (NEW.id IS NULL)
    EXECUTE PROCEDURE user();


- seq
CREATE SEQUENCE user$seq OWNED BY user.id;