USING

In a set specification, qualifies a relationship.

Syntax

relationship («USING obj1 AS obj2»)

Parameters

relationship

The name of the relationship being qualified.

obj1

The name of an object used elsewhere in the set specification in which relationship appears. Must be the name or role name of an EntitySet, relationship, form, or application document. Must refer to same underlying object as obj2 (e.g., one is a role name for the other).

obj2

The name of one of the objects associated by relationship. Must be the name or role name of an EntitySet, relationship, form, or application document. Must refer to same underlying object as obj1 (e.g., one is a role name for the other).

Comments

When a set specification includes a relationship, two principles are used to determine the validity of EntitySets associated by the relationship:

  1. If the relationship condition contains an EntitySet name, then that EntitySet name, or any role for it, may be used in set specification involving the relationship.
  2. If the relationship condition contains a role name, only that role name may be used in a set specification involving the relationship.

The USING subcommand helps to eliminate any ambiguity as to which objects are to be associated in a set specification. Ambiguity may develop when an object, or role for that object, appears more than once in a complex set specification.

Example

list all Employees WorkFor \
   Managers WorkFor (using Managers as Employees \
            using Bosses as Managers) \
   Bosses
Lists all bosses (managers of managers).
list all Employees WorkFor Managers \
   WorkIn (using Managers as Employees) Departments

The USING subcommand associates the departments with the managers, not with the employees.

 

Related Topics