integer[]を入力として受け取るplpgsql関数があります。
セットアップ全体は、次の質問にあります。 関数の引数PL/pgSQLとしてレコードを渡す
短いバージョン:books_authorというリンクテーブルを使用して、本から著者までn対mの関係があります。これで、次のような関数ができました。
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_authorsint」を入力パラメーターとして渡すことをお勧めしますか?
私はこの提案を見つけましたが、このアプローチのパフォーマンスについて少し心配しています。だから多分もっと簡単/速いものがあるでしょう。 http://archives.postgresql.org/pgsql-sql/2000-06/msg00169.php
ご助力ありがとうございます。