Using the DEFINE option of CHANGE RELATION, you can add a globally defined field to a relation. You can also use a local field name to refer to that global field. You can also define a relation-specific constraint at the field level. (B)0[mdefine-clause = qqwqqqqqqqqqqqqqqqwqqqk mq> /* text */ qj x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj mqqwq> global-field-name qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwqk tq> local-field-name qq> [4mBASED[m ON q> global-field-name qj x x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x mwqqqqqqqqqqqqqqqqqwqwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk x mqw> dtr-clause qwj mqqw> field-constraint-def qwqqqu x mqqqqqq<qqqqqqqj mqqqqqqqqqq<qqqqqqqqqqqqqj x x x mq> local-field-name qq> [4mCOMPUTED[m [4mBY[m q> value-expr qk x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj x mqqqwqqqqqqqqqqqqqqqqqqwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvq> mqw> dtr-clause qwqj mqqqqqq<qqqqqqqj
1 – Arguments
The action of CHANGE RELATION with the DEFINE-CLAUSE depends on the define-clause, as follows: o DEFINE global-field-name-includes an existing global field definition in the relation If you include only a name with the DEFINE option, Oracle Rdb searches for a field with that name in the list of global field definitions for the database. If such a field definition exists, Oracle Rdb adds that field definition to the relation definition. If no field has that name, Oracle Rdb returns an error message. o DEFINE local-field-name BASED ON global-field-name-includes an existing field definition in the relation, but gives it a local name If you include the BASED ON qualifier, Oracle Rdb uses the definition specified by the global-field-name syntax. However, the name of the new field in the relation is the one specified by the local-field-name syntax. This local name does not become part of the global list of field names for the database. You can specify local DATATRIEVE support clauses for the field specified with the local-field-name syntax. If you do, this local specification overrides the DATATRIEVE clauses attached to the global-field-name. o DEFINE local-field-name COMPUTED BY expression-adds a new virtual field The COMPUTED BY qualifier causes Oracle Rdb to calculate the field's value at run time, based on the specified expression. You can specify local DATATRIEVE support clauses on any of these fields. For more information on the DATATRIEVE clauses, ask for HELP on Field_attr. o If you include the DEFINE CONSTRAINT clause, Oracle Rdb defines the specified relation-specific constraint.
2 – field-constraint-def
Using the field-constraint-def clause you can name or specify the type of field-level constraints to be defined within a specific relation definition. (B)0[mfield-constraint-def = qwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwqk mq> [4mCONSTRAINT[m constraint-name IS qqj x lqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqj mwq> [4mNOT[m [4mMISSING[m qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwqk tq> [4mUNIQUE[m qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu x tq> [4mPRIMARY[m [4mKEY[m qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqu x mw> [4mREFERENCES[m referenced-relation-name qwqqqqqqqqqqqqqqqqqqqqqqqqwu x x m> referenced-field-name jx x x x x mq> [4mUSING[m rse [4mREQUIRE[m conditional-expr qqqqqqqqqqqq>qqqqqqqqqqqqqqj x x lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj mwqqqqqqqqqqqqqqqqqqqqqqqqqqqwq> mqq> [4mCHECK[m ON qwqq> [4mCOMMIT[m qu mqq> [4mUPDATE[m qj
2.1 – Arguments
Constraint-name must be unique within the database. The constraint name can be referred to in other statements such as DEFINE RELATION, SHOW CONSTRAINT, and START_TRANSACTION. The phrase 'CONSTRAINT constraint-name is' is optional. If you specify the keyword CONSTRAINT, you must also provide a name for the constraint. A field constraint definition differs from a relation constraint definition in that you cannot repeat referenced field names. See the "relation-constraint-def" help subtopic of CHANGE_RELATION for more information.