Format
CHANGE RECORD record-name
[ DESCRIPTION IS /*text*/ ]
[ NODESCRIPTION ] [AUDIT IS /*text*/]
[ ]
[ constraint-clause ]
[ DELETE CONSTRAINT constr-name ]
[ record-property ] ... .
[ ]
[ NOrecord-property ]
[ DELETE name . ] ...
[ included-name-change-clause ]
[ local-field-clause ]
[ record-change-clause ] ...
[ structure-change-clause ]
[ ]
[ variants-change-clause ]
END [ record-name ] RECORD .
1 – Parameters
1.1 – record-name
Specifies the record element you are modifying.
1.2 – text
Modifies information. Within the DESCRIPTION clause, this is
information documenting the record; within the AUDIT clause, it
is a history list entry. Valid delimiters are /* */ or double
quotation marks (" ").
You can use Japanese to document comments in the DESCRIPTION or
AUDIT clause for a field. To do this, use the SET CHARACTER_SET
command, and set the character_set of the session to DEC_KANJI.
1.3 – constraint-clause
Adds a condition, known as a constraint, that affects adding or
modifying data in a database table (record). Supported constraint
types are NOT NULL, PRIMARY KEY, FOREIGN KEY, UNIQUE, and CHECK.
Each constraint can be named and supplied with evaluation
attributes DEFERRABLE or NOT DEFERRABLE. The default evaluation
time for constraints in CDO is NOT DEFERRABLE (the constraint
is evaluated at statement time). For more information, see the
DEFINE RECORD_Constraint command.
1.4 – constr-name
Specifies the name of a constraint.
1.5 – record-property
Changes the value of an existing property or adds a new property
in record, structure, variants, and variant definitions within
a record element. You specify removal with the NO keyword. See
rec-properties for the record properties CDO provides.
1.6 – name
Specifies the name of a record, structure, or field that you want
to delete from the record.
1.7 – included-name-change-clause
Allows you to change existing field and record definitions within
record elements. For more information, see the CHANGE
RECORD_Included_Name_Change command.
1.8 – local-field-clause
Specifies the definition of the locally defined field. For more
information, see the DEFINE RECORD_Local_Field command.
1.9 – record-change-clause
Adds field, record, structure, variants, and variant definitions
within an existing record definition. For more information, see
the CHANGE RECORD_Record_Change command.
1.10 – structure-change-clause
Allows you to change a structure definition within a record
element. For more information, see the CHANGE
RECORD_Structure_Change command.
1.11 – variants-change-clause
Allows you to change a variant definition, which is a set of
two or more definitions that map to the same portion of a record
element. For more information, see the CHANGE
RECORD_Variants_Change command.
2 – Description
The CHANGE RECORD command modifies a record element by performing
a change in place. CDO changes the values you specify, and other
values remain the same.
If a record element is controlled, CDO freezes previous versions
and allows you to modify only the highest visible version. If a
record element is uncontrolled, CDO modifies the highest version
unless you specify another version number.
If a record element is controlled, you must reserve the record
element before you can issue the CHANGE RECORD command. The
SHOW RECORD or SHOW RESERVATIONS command indicates whether this
condition exists.
When you change a record element that an Oracle Rdb database
uses, you may need to integrate the database with the repository.
CDO automatically sends a notice with the name of the database
when this possibility occurs.
To remove a field, record, or structure definition from a record
element, if the definition is not contained within a variant or
structure definition, specify the DELETE keyword, followed by
the appropriate name or clause for the type of definition you are
removing.
To remove a definition from within a variant definition, use the
NOVARIANTS and VARIANT keyword, followed by the DELETE clause.
To remove a definition from within a structure definition,
specify the CHANGE RECORD Structure Change Clause. Specify the
DELETE keyword, followed by the name of the definition you are
removing.
If you are deleting a constraint, you must delete the
constraint before you delete the field; they cannot be deleted
simultaneously using the CHANGE RECORD command. To update
the change in the database, you must integrate each change
separately.
3 – Examples
1.CDO> CHANGE RECORD SUPPLIER_REC
cont> ROW_MAJOR ARRAY 1:20.
cont> END RECORD.
This example uses the CHANGE RECORD command to add an array
clause to a record called SUPPLIER_REC.
2.CDO> CHANGE RECORD EMPLOYEE_WORK_SCHEDULE
cont> NONAME COBOL.
cont> END RECORD.
In this example, the CHANGE RECORD command uses the NO keyword
to remove the NAME FOR COBOL record property from the EMPLOYEE_
WORK_SCHEDULE record definition.
3.CDO> CHANGE RECORD EMP_ADDRESS.
cont> DELETE DEPT_CODE.
cont> END RECORD.
In this example, the CHANGE RECORD command deletes the DEPT_
CODE field definition.
4.CDO> CHANGE RECORD EMP_ADDRESS.
cont> DEFINE EMP_NAME.
cont> END EMP_NAME DEFINE.
cont> END RECORD.
In this example, the CHANGE RECORD command adds the EMP_NAME
record definition to the EMP_ADDRESS record element.
5.CDO> CHANGE RECORD EMPLOYEE_REC
cont> /* Adding new fields WAGE_STATUS and CLASS_CODE */.
cont> DEFINE WAGE_STATUS.
cont> END DEFINE.
cont> DEFINE CLASS_CODE.
cont> END DEFINE.
cont> END EMPLOYEE-REC RECORD.
To include an additional field in a record definition, use the
CHANGE command with the DEFINE record property. The included
field becomes the last field in the record definition. This
example adds the fields WAGE_STATUS and CLASS_CODE to the
record definition EMPLOYEE_REC.