PostgreSQL插入数组多对多关系
PostgreSQL insert array many-to-many relationship
让多个用户属于多个组。
编写一个函数,创建一个包含 name
和用户列表的组。
CREATE FUNCTION groups_create(varchar(50), bigint[]) RETURNS SETOF bigint AS
$$
WITH g AS (
INSERT INTO groups (name)
VALUES ()
RETURNING id
), gm AS (
INSERT INTO group_members
SELECT id, unnest() FROM g
)
SELECT id FROM g
$$
LANGUAGE SQL;
让多个用户属于多个组。
编写一个函数,创建一个包含 name
和用户列表的组。
CREATE FUNCTION groups_create(varchar(50), bigint[]) RETURNS SETOF bigint AS
$$
WITH g AS (
INSERT INTO groups (name)
VALUES ()
RETURNING id
), gm AS (
INSERT INTO group_members
SELECT id, unnest() FROM g
)
SELECT id FROM g
$$
LANGUAGE SQL;