我有一个以整数 [] 作为输入的 plpgsql 函数。
整个设置可以在这个问题中找到: Passing a record as function argument PL/pgSQL
简短版本:我有一个从书籍到作者的 n 到 m 关系,带有一个名为 books_author 的链接表。我现在有一个看起来像这样的函数:
create function f_insert_books(title varchar, isbn varchar, publisher varchar,
author_id integer[]) returns void as $$
begin
--insert book
--insert link to authors into the books_author table
end;
$$ language plpgsql;
我现在想将 number_of_authors 添加到书中。是否有一种简单的方法来确定 author_id 数组的大小,或者您是否建议将“number_of_authors int”作为输入参数传递?
我找到了这个建议,但我有点担心这种方法的性能。所以也许有一些更容易/更快的东西。 http://archives.postgresql.org/pgsql-sql/2000-06/msg00169.php
非常感谢您的帮助。