我有一个getter函数,它从一系列连接表中提取一个值,如下所示:
SELECT
foo
FROM
my_table AS mt
LEFT JOIN my_other_table AS mot ON mt.pkey = mot.fkey
LEFT JOIN my_other_other_table AS moot ON mot.pkey = moot.fkey
WHERE
mt.pkey = 0
我想知道是否有办法将其转换为setter函数,使我能够更新此联接表的任何部分,并将这些更改传播回其原始表,例如:
UPDATE
my_table AS mt
LEFT JOIN my_other_table AS mot ON mt.pkey = mot.fkey
LEFT JOIN my_other_other_table AS moot ON mot.pkey = moot.fkey
SET
mt.some_val = 0
mot.some_other_val = 1
moot.some_other_other_val = 2
WHERE
mt.pkey = 0
我意识到上面的代码实际上不起作用,我很确定这实际上是不可能的,但我想不遗余力。有办法做我想做的事吗?或者需要更复杂的plpgsql函数?