The SET* member stored procedure is used to set the current data value.
SET* is a list of stored procedures corresponding to the type of the current data value. The type of the data value should be the attribute type at the current position during the segmented construction process.
Applicability
This topic applies only to OceanBase Database Enterprise Edition. OceanBase Database Community Edition does not support this feature.
Syntax
MEMBER PROCEDURE SetNumber(
self IN OUT NOCOPY AnyData,
num IN NUMBER,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetDate(
self IN OUT NOCOPY AnyData,
dat IN DATE,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetChar(
self IN OUT NOCOPY AnyData,
c IN CHAR,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetVarchar(
self IN OUT NOCOPY AnyData,
c IN VARCHAR,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetVarchar2(
self IN OUT NOCOPY AnyData,
c IN VARCHAR2,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetRaw(
self IN OUT NOCOPY AnyData,
r IN RAW,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetBlob(
self IN OUT NOCOPY AnyData,
b IN BLOB,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetClob(
self IN OUT NOCOPY AnyData,
c IN CLOB,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetObject(
self IN OUT NOCOPY AnyData,
obj IN "<ADT_1>",
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetCollection(
self IN OUT NOCOPY AnyData,
col IN "<COLLECTION_1>",
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetTimestamp(
self IN OUT NOCOPY AnyData,
ts IN TIMESTAMP_UNCONSTRAINED,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetTimestampTZ(
self IN OUT NOCOPY AnyData,
ts IN TIMESTAMP_TZ_UNCONSTRAINED,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetTimestampLTZ(
self IN OUT NOCOPY AnyData,
ts IN TIMESTAMP_LTZ_UNCONSTRAINED,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetIntervalYM(
self IN OUT NOCOPY AnyData,
inv IN YMINTERVAL_UNCONSTRAINED,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetIntervalDS(
self IN OUT NOCOPY AnyData,
inv IN DSINTERVAL_UNCONSTRAINED,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetNchar(
self IN OUT NOCOPY AnyData,
nc IN NCHAR,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetNVarchar2(
self IN OUT NOCOPY AnyData,
nc IN NVarchar2,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetBFloat(
self IN OUT NOCOPY AnyData,
fl IN BINARY_FLOAT,
last_elem IN boolean DEFAULT FALSE);
MEMBER PROCEDURE SetBDouble(
self IN OUT NOCOPY AnyData,
dbl IN BINARY_DOUBLE,
last_elem IN boolean DEFAULT FALSE);
Parameters
| Parameter | Description |
|---|---|
| self | An ANYDATA object. |
| num | The value and related information to be set. |
| last_elem | This parameter is relevant only when ANYDATA represents a collection. It indicates whether the current value is the last element of the collection. |
Exceptions
DBMS_TYPES.INVALID_PARAMETERS: Invalid parameters (for example, when a value cannot be added at a certain stage of the procedure creation).DBMS_TYPES.INCORRECT_USAGE: Incorrect usage.DBMS_TYPES.TYPE_MISMATCH: The expected type does not match the provided type.
Considerations
When you call BEGINCREATE, it indicates that the segmented construction has started. Subsequent calls to SET* will set the attribute values for the current segment. If ANYDATA is an independent collection, the SET* call will set the subsequent collection elements.
