使用自定义数据从另一个插入 table

Insert into table from another using custom data

正如我所读 here 如果我想从 PostgreSQL 数据库中的另一个插入 table 我必须使用这个:

此查询从另一个 table

插入一些行
INSERT INTO books (id, title, author_id, subject_id)
       SELECT nextval('book_ids'), title, author_id, subject_id
              FROM book_queue WHERE approved;

但是如何使用我的自定义数据(默认或非默认)插入包含更多列的行?

例如,books (id, title, author_id, <a cell with my data1>,subject_id,<a cell with my data2>)

如何在插入 table 之前更新所选数据?

即,类似于:

INSERT INTO books (id, title, author_id, subject_id)
       SELECT nextval('book_ids'), title, author_id+1, subject_id/2
              FROM book_queue WHERE approved;

Insert 插入行,而 select 生成/forms 行,因此如果您可以使用任何 select 语句构建要插入的数据,然后你可以插入它,即使有新的字段或更新的字段。例如:

INSERT INTO books (title, author_id, subject_id, combined)
  SELECT title, author_id+1, subject_id/2, author_id || ' ' || title
    FROM book_queue WHERE approved;

这里有一个 fiddle 可以玩。