当其中一个值参数是动态的时,是否可以执行多个插入?

时间:2014-07-10 22:22:54

标签: sql postgresql

考虑以下Postgresql数据库表:

id    | book_id |  author_id
----------------------------
 1    |  17     | 10
 2    |  18     | 10
 3    |  19     | 10
 4    |  22     | 10

我想在book_id中将新的author_id值插入到此表中,其中author_id = 10。例如,结果表将类似于以下内容......

id    | book_id |  author_id
----------------------------
 1    |  17     | 10
 2    |  18     | 10
 3    |  19     | 10
 4    |  22     | 10
 5    |  17     | 11
 6    |  18     | 11
 7    |  19     | 11
 8    |  22     | 11     

如果不为每个book_id编写单独的insert语句,是否可以编写一个模拟相同行为的插入语句?

1 个答案:

答案 0 :(得分:3)

试试这个

Insert into table(book_id,author_id)
(
    Select table.book_id,11 FROM table
    Where author_id=10
)