我想将一些数据从一个表复制到另一个表但我不想复制所有行,只需要复制几行(就像前100行一样)。
我没有在COPY
命令中找到一个选项。
这样才有可能吗?
提前谢谢。
答案 0 :(得分:3)
你看起来不太努力。
https://www.postgresql.org/docs/current/static/sql-copy.html
要将名称以“A”开头的国家/地区复制到文件中:
COPY(SELECT * FROM country WHERE country_name LIKE'A%')TO '/usr1/proj/bray/sql/a_list_countries.copy';
所以你想要COPY (SELECT ... LIMIT 100)
。
我假设您要在数据库之间或通过中间文件或其他内容进行复制,否则您只想使用INSERT ... SELECT
,如另一个答案中所示。
答案 1 :(得分:0)
您可以使用
INSERT INTO table2(col_list)
SELECT col_list FROM table1 WHERE condtitions ORDER BY order_col_list LIMIT X;
答案 2 :(得分:0)
您可以在复制(SELECT ...LIMIT) to
时限制行数,但不能限制COPY from
。你没有在docs中找到这样的选项,因为没有这样的选项。
使用insert into ... select from ... limit 100
代替