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 data value's type 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 provides only MySQL mode.
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 numeric 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, a value cannot be added at a certain stage of the procedure.DBMS_TYPES.INCORRECT_USAGE: Incorrect usage.DBMS_TYPES.TYPE_MISMATCH: The expected type is different from the input type.
Considerations
When you call BEGINCREATE, it indicates that the segmented construction has started. Subsequent calls to SET* will set the next attribute values. If ANYDATA is an independent collection, SET* calls will set the next collection elements.