如果其他表中的某些列发生更改,则创建一个可以自动更新的表

时间:2014-01-30 21:32:38

标签: sql postgresql postgis

我在postgresql中创建了两个表a和b。 所以我想要的是,如果我更改表'a'中的数据,表'b'中的数据会自动同时更新。 或者如果表中的数据是b.salary = 2000 + x,其中x是可变的,并且它将被传递给表 如果任何一个问题得到解决,我可以进一步开展工作。 在此先感谢

1 个答案:

答案 0 :(得分:0)

示例:

CREATE TABLE test.x (
   value integer
);

CREATE FUNCTION test.value_calc(_arg integer) RETURNS integer AS
$$
DECLARE
   C_MODIFIER CONSTANT integer = 1000;  -- ;)
BEGIN
   RETURN _arg + C_MODIFIER;  -- there you can put any logic
END;
$$
LANGUAGE plpgsql IMMUTABLE;

CREATE VIEW test.y AS SELECT x.value, test.value_calc(x.value) AS modified FROM test.x AS x;

INSERT INTO test.x VALUES (543);

SELECT * FROM test.y;

值|改性 ----- + ----------   543 | 1543