Library /sys$common/syshlp/RDOHELP72.HLB  —  DEFINE_RELATION, More
    You need the Oracle Rdb DEFINE privilege for the database to define
    a relation. If you are defining a constraint as part of the
    relation definition, you must also have the Oracle Rdb DEFINE
    privilege for the relation referenced by the constraint.

    You can copy a shareable relation definition from the data
    dictionary into the database using the FROM PATHNAME clause of
    the DEFINE RELATION statement.

    When the DEFINE RELATION statement executes, Oracle Rdb:

    o  Adds the relation definition to the physical database. If you
       have invoked the database with the PATHNAME specification, the
       definition is also added to the data dictionary.

    o  Creates a default access control list (ACL) for the relation.

    There are several ways to use the DEFINE RELATION statement to
    specify the attributes of fields:

    o  When you define a relation, you can simply list the names of
       fields defined globally for the database, or you can define
       fields explicitly.

    o  You can also base the local field definitions on existing
       global definitions, but give them local attributes. For
       example, when you use the BASED ON qualifier, the field takes
       the local name you give it in the DEFINE RELATION statement,
       but it derives its other attributes from the global field on
       which it is based.

    o  You can also use the DATATRIEVE clauses both globally and
       locally. When you use the DATATRIEVE clauses within the
       DEFINE RELATION statement, they override the DATATRIEVE
       characteristics specified for the global definition.

    You must execute this statement in a read/write transaction. If
    you issue this statement when there is no active transaction,
    Oracle Rdb starts a read/write transaction implicitly.

    Other users are allowed to be attached to the database when you
    issue the DEFINE RELATION statement.

    You can have a maximum of 2000 fields in a relation.

    If you define a relation using an Oracle CDD/Repository path name, the
    relation name must match the record name.  For example, the following
    statement  contains an error.  (The statement can be processed, but
    problems will occur later.)

       RDO> DEFINE RELATION AAAA FROM PATHNAME 'CDD$TOP.TEST.XXXX'.

    The correct form of the statement is as follows:

       RDO> DEFINE RELATION AAAA FROM PATHNAME 'CDD$TOP.TEST.AAAA'.
Close Help