如何使用另一个表中的函数和数据更新每一行的数据?

时间:2014-03-24 08:27:42

标签: sql postgresql

我使用set子句中的函数和另一个表中的数据来更新acrticles_pl_vector表中每行的数据时出现问题。

例如我有一个伪代码:

CREATE OR REPLACE FUNCTION updateTsvector () 
RETURNS status AS
$$
BEGIN
    FOR EACH ROW otherTable
     UPDATE acrticles_pl_vector
     set vector = to_tsvector('polish', otherTable.title || otherTable.content);
     WHERE id = otherTable.id

END;
$$
LANGUAGE plpgsql

提前致谢!

1 个答案:

答案 0 :(得分:1)

CREATE OR REPLACE FUNCTION updateTsvector () RETURNS void AS $$
  UPDATE acrticles_pl_vector
    SET locale = 'pl', vector = to_tsvector('polish', ot.title || ot.content
    FROM otherTable ot
    WHERE id = ot.id;
$$ LANGUAGE sql;