Returns the dbkey of a specified record. The PLACE statement
lets you determine the target page number for records that are
to be loaded into the database. The PLACE statement is similar in
syntax to the STORE statement. However, the PLACE statement does
not actually store a record.
The PLACE statement can result in significant performance
improvements in database load procedures that specify the
PLACEMENT VIA INDEX clause for a hashed index. Use it only with
records for which a hashed index has been defined.
The PLACE statement is valid only in RDO and in Callable RDO.
1 – Format
(B)0[m[4mPLACE[m q> context-var qq>[4mIN[m qqwqqqqqqqq>qqqqqqqqqwqq> relation-name qqk
mq>db-handle q> . qj x
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
mqq> [4mUSING[m qqqwqqqqqqqq>qqqqqqqwqqqqqqqqk
mqq> on-error qqqj x
lqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqj
mwqwq> context-var . field-name qqq> = qqq> value-expr qqqwqqqwqqqqqk
x mqqqqqqqqqqqqqqqqqqqqqqqq ; <qqqqqqqqqqqqqqqqqqqqqqqqqqj x x
mqqq> context-var . * qqqqqqqqqq> = qq> record-descr qqqqqqqqj x
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
mwqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq>qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqwqk
tq> [4mGET[m qq> host-var qq> = qq> context-var qq> . qq> [4mRDB$DB_KEY[m qu x
mq> [4mPRINT[m qqqqqqqqqqqqqqqqqqq> context-var qq> . qq> [4mRDB$DB_KEY[m qj x
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq<qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
mqq> [4mEND_PLACE[m qqqqqq>
1.1 – context-var
A valid context variable.
1.2 – db-handle
A host language variable used to refer to the database.
1.3 – relation-name
The name of the relation into which the value would be stored.
1.4 – on-error
The ON ERROR clause, which specifies a host language statement or
Oracle Rdb data manipulation statement to be performed if an Oracle Rdb
error occurs.
1.5 – field-name
The names of the fields that appear in the index referenced in
the DEFINE STORAGE MAP statement's PLACEMENT VIA INDEX clause.
All index segments must be specified or the results of the PLACE
statement will be of little use. Field-names not used in the
index, if listed, will be ignored.
1.6 – value-expr
A valid Oracle Rdb value expression that specifies the value that
would be stored.
1.7 – record-descr
A valid data dictionary record descriptor matching all the fields
of the relation. You can use a host language statement to include
the relation definition in your program. Each field of the record
descriptor must match exactly the field names and data types
of the fields in the Oracle Rdb relation referenced by the context
variable.
1.8 – host-var
A user-defined host language variable, into which you may
store the dbkey of the record that would be stored. Use the
GET...RDB$DB_KEY construct to assign the value of the dbkey to
the host language variable.
2 – More
You must have the Oracle Rdb WRITE privilege to the database and
relation to use the PLACE statement.
3 – Example
The PLACE statement returns the dbkey of the specified record in
the following example:
RDO> PLACE E IN EMPLOYEES
cont> USING E.EMPLOYEE_ID = "94789"
cont> PRINT E.RDB$DB_KEY
cont> END_PLACE