How INSERT Statements are Handled

Previous Next

A SQL statement that inserts records into any table of a subtype constellation (assume subtype object data is stored in separate tables) is considered to be an insert in the whole constellation. The necessary insert right is checked in the uppermost supertype table, and all subtype tables for which the indicator column is set to 'Y'. For columns that are part of the primary key, insert rights are only checked for the uppermost supertype. Rights on the primary key columns of subtype tables are ignored.

NOTE: If supertype and subtype object data is physically stored in one table (create separate table option for subtype table object set to 'N'), specification of the right to insert data in the table playing the supertype role is not enough to allow storage of subtype data even though the data physically ends up in the same table. To be able to insert super- and subtype data, you must specify the right to insert data into the (physically non-existing, but conceptually modeled) subtype table, either by specifying the insert right at the table level, or by specifying the insert right at the table level, denying insert rights on (some of the) non mandatory columns.

Default subtype data windows are called Secondary Info Boxes (SIBs). One of their effects is that navigation between a parent and (one of) its Secondary Info Box children does not automatically trigger the Store Record action. This means that the insert in the supertype/subtype table constellation actually takes place when the end-user explicitly chooses the Store Record option from the menu, or when the cursor is moved to another record of the constellation (for instance by scrolling to another record in the SIB).