我有一个包含3个表的Postgres数据库,比如A
,B
和C
。我想从表A
中选择数据并遍历每一行,检查其中一列中的值,然后根据条件将数据插入表B
或表C
。< / p>
我怎么能这样做,请有人请发一个示例脚本。我更喜欢plpgsql(使用PGAdmin3)。
答案 0 :(得分:2)
你不需要一个游标,你不需要plpgsql,你甚至不需要data-modifying CTE来允许你在一个SQL语句中这样做。
只需运行两个简单的INSERT
语句。如果您想确保全部或全部没有应用,请将它们放入交易中:
BEGIN;
INSERT INTO B (col1, col2)
SELECT col1, col2
FROM A
WHERE col_cond = 'something';
INSERT INTO C (col1, col2)
SELECT col1, col2
FROM A
WHERE col_cond IS DISTINCT FROM 'something';
COMMIT;
答案 1 :(得分:0)
答案 2 :(得分:0)
输入以下命令:
begin;
insert into table_name as select * from table_name2 where Name="?";
commit;