我有一个视图由两个表组成。假设表 TableA 和表 TableB。
现在表 A 有大约 20 列,表 B 有 4 列。
TableA (
id datatype,
uid datatype,
.
.
.
18 more);
TableB (
id datatype,
uid datatype,
a_id datatype,
amount datatype,
CONSTRAINT tablea_tableb_fkey FOREIGN KEY (a_id)
REFERENCES tablea (id) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT,
);
所以TableA和TableB之间是一对多的关系。现在我写了如下视图......
CREATE OR REPLACE VIEW AB AS
SELECT a.id, a.uid, ..., array_agg(b.amount) AS amounts
FROM TableA a
JOIN TableB b ON a.id = b.a_id
GROUP BY i.id;
现在我想通过编写一个辅助函数来为这个视图编写插入规则。该函数需要大约 18 个参数(除了id
,uid
具有默认值)用于插入 TableA 和 1 个参数,它是 TableB 的数组。
所以函数的总参数是 19。我想知道我可以传递给函数的最大参数数是postgresql
多少?发送这么多参数是否明智?有没有更好的方法来为这么多参数编写函数?