Oracle9i Supplied PL/SQL Packages and Types Reference Release 2 (9.2) Part Number A96612-01 |
|
Logical Change Record Types, 3 of 6
This type represents a DML change to a row in a table. This type uses the LCR$_ROW_LIST
type.
If you create or modify a row LCR, then make sure the command_type
attribute is consistent with the presence or absence of old column values and the presence or absence of new column values.
Creates a SYS.LCR$_ROW_RECORD
object with the specified information.
STATIC FUNCTION CONSTRUCT( source_database_name IN VARCHAR2, command_type IN VARCHAR2, object_owner IN VARCHAR2, object_name IN VARCHAR2, tag IN RAW DEFAULT NULL, transaction_id IN VARCHAR2 DEFAULT NULL, scn IN NUMBER DEFAULT NULL, old_values IN SYS.LCR$_ROW_LIST DEFAULT NULL, new_values IN SYS.LCR$_ROW_LIST DEFAULT NULL) RETURN SYS.LCR$_ROW_RECORD;
Parameter | Description |
---|---|
|
The database where the row change occurred. If you do not include the domain name, then the local domain is appended to the database name automatically. For example, if you specify |
|
The type of command executed in the DML statement. This parameter should be set to a non- Valid values are the following: INSERT UPDATE DELETE LOB ERASE LOB WRITE LOB TRIM If If If If |
|
The user who owns the table on which the row change occurred. This parameter should be set to a non- |
|
The table on which the DML statement was executed. This parameter should be set to a non- |
|
A binary tag that enables tracking of the LCR. For example, this tag may be used to determine the original source database of the DML change when apply forwarding is used. See Also: Oracle9i Streams for more information about tags |
|
The identifier of the transaction |
|
The SCN at the time when the change record was written to the redo |
|
If the DML statement is an |
|
If the DML statement is an If the LCR reflects a LOB operation, then the supplementally logged columns and any relevant LOB information. |
Subprogram | Description |
---|---|
Common Subprograms |
See "Common Subprograms for LCR$_ROW_RECORD and LCR$_DDL_RECORD" for a list of subprograms common to the |
Adds the value as old or new, depending on the value type specified, for the column |
|
Deletes the old value, the new value, or both, for the specified column, depending on the value type specified |
|
Executes the LCR under the security domain of the current user |
|
Gets the LOB information for the column |
|
Returns the LOB offset for the specified column |
|
Gets the operation size for the LOB column |
|
Returns the old or new value for the specified column, depending on the value type specified |
|
Returns a list of old or new values, depending on the value type specified |
|
Renames a column in an LCR |
|
Sets LOB information for the column |
|
Sets the LOB offset for the specified column |
|
Sets the operation size for the LOB column |
|
Replaces the existing old or new values for the LCR, depending on the value type specified |
Adds the value as old or new, depending on the value type specified, for the column. An error is raised if a value of the same type already exists for the column.
To set a column value that already exists, run SET_VALUE
.
MEMBER PROCEDURE ADD_COLUMN( value_type IN VARCHAR2, column_name IN VARCHAR2, column_value IN SYS.AnyData);
Deletes the old value, the new value, or both, for the specified column, depending on the value type specified.
MEMBER PROCEDURE DELETE_COLUMN( column_name IN VARCHAR2, value_type IN VARCHAR2 DEFAULT '*');
Executes the row LCR under the security domain of the current user. Any apply process handlers that would be run for an LCR are not run when the LCR is applied using this procedure.
MEMBER PROCEDURE EXECUTE( conflict_resolution IN BOOLEAN);
Gets the LOB information for the column.
The return value can be one of the following:
DBMS_LCR.NOT_A_LOB CONSTANT NUMBER := 1; DBMS_LCR.NULL_LOB CONSTANT NUMBER := 2; DBMS_LCR.INLINE_LOB CONSTANT NUMBER := 3; DBMS_LCR.EMPTY_LOB CONSTANT NUMBER := 4; DBMS_LCR.LOB_CHUNK CONSTANT NUMBER := 5; DBMS_LCR.LAST_LOB_CHUNK CONSTANT NUMBER := 6;
Returns NULL
if the specified column does not exist.
MEMBER FUNCTION GET_LOB_INFORMATION( value_type IN VARCHAR2, column_name IN VARCHAR2) RETURN NUMBER;
Parameter | Description |
---|---|
|
The type of value to return for the column, either |
|
The name of the column |
Gets the LOB offset for the specified column in the number of characters for CLOB
columns and the number of bytes for BLOB
columns. Returns a non-NULL
value only if all of the following conditions are met:
DBMS_LCR.LAST_LOB_CHUNK
or DBMS_LCR.LOB_CHUNK
LOB
ERASE
or LOB
WRITE
Otherwise, returns NULL
.
GET_LOB_OFFSET( value_type IN VARCHAR2, column_name IN VARCHAR2) RETURN NUMBER;
Parameter | Description |
---|---|
|
The type of value to return for the column. Currently, only |
|
The name of the LOB column |
Gets the operation size for the LOB column in the number of characters for CLOB
columns and the number of bytes for BLOB
columns. Returns a non-NULL
value only if all of the following conditions are met:
LOB
ERASE
or LOB
TRIM
DBMS_LCR.LAST_LOB_CHUNK
Otherwise, returns NULL
.
MEMBER FUNCTION GET_LOB_OPERATION_SIZE( value_type IN VARCHAR2, column_name IN VARCHAR2) RETURN NUMBER,
Parameter | Description |
---|---|
|
The type of value to return for the column. Currently, only |
|
The name of the LOB column |
Returns the old or new value for the specified column, depending on the value type specified.
MEMBER FUNCTION GET_VALUE( value_type IN VARCHAR2, column_name IN VARCHAR2) RETURN SYS.AnyData;
Returns a list of old or new values, depending on the value type specified.
MEMBER FUNCTION GET_VALUES( value_type IN VARCHAR2) RETURN SYS.LCR$_ROW_LIST;
Parameter | Description |
---|---|
|
The type of values to return. Specify |
Renames a column in an LCR.
MEMBER PROCEDURE RENAME_COLUMN( from_column_name IN VARCHAR2, to_column_name IN VARCHAR2, value_type IN VARCHAR2 DEFAULT '*');
Sets LOB information for the column.
MEMBER PROCEDURE SET_LOB_INFORMATION( value_type IN VARCHAR2, column_name IN VARCHAR2, lob_information IN NUMBER);
Sets the LOB offset for the specified column in the number of characters for CLOB
columns and the number of bytes for BLOB
columns.
SET_LOB_OFFSET( value_type IN VARCHAR2, column_name IN VARCHAR2, lob_offset IN NUMBER);
Sets the operation size for the LOB column in the number of characters for CLOB
columns and bytes for BLOB
columns.
MEMBER PROCEDURE SET_LOB_OPERATION_SIZE( value_type IN VARCHAR2, column_name IN VARCHAR2, lob_operation_size IN NUMBER);
Overwrites the old or new value of the specified column.
One reason you may want to overwrite an old value for a column is to resolve an error that resulted from a conflict.
MEMBER PROCEDURE SET_VALUE( value_type IN VARCHAR2, column_name IN VARCHAR2, column_value IN SYS.AnyData);
Replaces all old values or all new values for the LCR, depending on the value type specified.
MEMBER PROCEDURE SET_VALUES( value_type IN VARCHAR2, value_list IN SYS.LCR$_ROW_LIST);
|
Copyright © 2000, 2002 Oracle Corporation. All Rights Reserved. |
|