I suspected that might be part of the answer.
Would some combination of triggers work instead? I've played
with those too, but without success.
>
> This is an ancient gotcha: as soon as you delete the book row, there is
> no longer any such entry in the bookview view ... and "old.id" is
> effectively a reference to the bookview view, so the second delete
> finds no matching rows.
>
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq