12
我已經有一個腳本,將表數據從一個數據庫複製到另一個,但是ID列由一個序列支持,所以當新記錄插入目標表時,nextval(seq)
正在返回錯誤的值。重新啓動,以便nextval是下一個未使用的ID
我需要更新序列,以便它從下一個可用ID開始。
我想要做的事,如:
ALTER SEQUENCE seq_id RESTART WITH
(SELECT MAX(id) FROM tbl);
然而,上述產生一個語法錯誤。
任何人都可以提出一種替代方法嗎?
感謝您的回答,我正在以此爲回聲管道輸送到psql的..你能告訴我如何將整個命令整合爲一體? – pstanton
你可以使用'setval'函數,而不必動態建立'alter sequence'語句;更簡單,但是如果你一個接一個地做這些,不會有什麼真正的區別。 – araqnid