Chuck, On 20. 2. 2015, at 19:37, Chuck Hill <ch...@gevityinc.com> wrote:
>> One way would be to twist the DB to do the complete restraint to me, >> something like to a pseudo-code “inserted_row.attr>=MAX(SELECT attr FROM >> this_table WHERE another_attr.isValid) AND couple more similar conditions” >> -- frankly I am not sure whether the database (FrontBase) can do that at >> all, and if it can, definitely I don't know how to. > > I think you can do it as a Check constraint. It needs to be a boolean > expression, but I am not sure it can include selects. A quick experiment > would show if it can. It looks like FrontBase allows me to use SELECT in check constraints, but I've bumped into another problem -- I need also to join to access values from another table, and I don't know how to express „column from the row just being inserted, not from any other table in the SELECT“? My constraint expression (considerably simplified for readability) looks like this: (select max(po.C_PRICE) from T_PRICE_OFFER po, T_AUCTION auc where po.C_AUCTION_ID=auc.C_UID and po.C_PRICE<=auc.C_MAX_PRICE and po.C_CREATION_DATE<C_CREATION_DATE)<C_PRICE to express a condition “PRICE of the inserted PRICE_OFFER must be higher than all PRICEs of all older PRICE_OFFERs belonging to the same auction, whose PRICE does not exceed the auction's MAX_PRICE”. The problem is with the “older PRICE_OFFERs” part (“WHERE ... po.C_CREATION_DATE<C_CREATION_DATE”) -- FrontBase complains that C_CREATION_DATE is ambiguous. Well it is -- all the tables in question contain such a column -- but how should I prefix it to tell the server „this is the CREATION_DATE of the row which is being inserted“? Thanks a lot, OC _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com