だから、私は単純な本の貸し出しシステムに取り組もうとしていますが、関数の作成と使用に問題があります。
ローンの「テーブル」、コピーの「テーブル」、および利用可能な「ビュー」があります。
「利用可能なビュー」は次のようになります。
book_id | available_copies
---------+------------------
BI6 | 1
ここで、「available_copies」列は
COUNT(copy_id) AS available_copies
FROM copies
WHERE copy_id NOT IN (SELECT copy_id FROM loans)
これが私の「コピーテーブル」です
copy_id | book_id | copy_no | copy_code
---------+---------+---------+-----------
CI8 | BI6 | 8 | CI
CI9 | BI6 | 9 | CI
CI7 | BI7 | 7 | CI
CI10 | BI7 | 10 | CI
これが私の「ローン表」です
loan_id | copy_id | user_id | borrow_date | due_date | loan_no | loan_code
---------+---------+---------+-------------+------------+---------+-----------
LI10 | CI10 | UI4 | 2013-05-21 | 2013-05-26 | 10 | LI
LI11 | CI8 | UI4 | 2013-05-21 | 2013-05-26 | 11 | LI
LI12 | CI7 | UI4 | 2013-05-22 | 2013-05-27 | 12 | LI
私が本当にやりたかったことは.. available_copies が 0 の場合 (上記の「利用可能なビュー」のように、すべてのコピーが既に借りられているため、BI7 はもう利用可能なビューにありません)、postgres は Loans で本を借りることができないというプロンプトを表示します本はすでに部数がなくなっているため、もう。
plpgsqlは初めてです。助けてください。:(