| Oracle9i Supplied PL/SQL Packages and Types Reference Release 1 (9.0.1) Part Number A89852-02 |
|
DBMS_WM , 29 of 52
This procedure applies changes to a table (all rows or as specified in the WHERE clause) in a workspace to its parent workspace.
DBMS_WM.MergeTable( workspace IN VARCHAR2, table_id IN VARCHAR2 [, where_clause IN VARCHAR2 DEFAULT ''] [, create_savepoint IN BOOLEAN DEFAULT FALSE] [, remove_data IN BOOLEAN DEFAULT FALSE] [, auto_commit IN BOOLEAN DEFAULT TRUE]);
All data that satisfies the where_clause in the version-enabled table table_name in workspace is applied to the parent workspace of workspace.
Any locks that are held by rows being merged are released.
If there are conflicts between the workspace being merged and its parent workspace, the merge operation fails and the user must manually resolve conflicts using the <table_name>_CONF view. (Conflict resolution is explained in Oracle9i Application Developer's Guide - Workspace Manager.)
A table cannot be merged in the LIVE workspace (because that workspace has no parent workspace).
A table cannot be merged or refreshed if there is an open regular transaction affecting the table.
An exception is raised if the user does not have access to table_id, or the MERGE_WORKSPACE privilege for workspace or the MERGE_ANY_WORKSPACE privilege.
The following example merges changes to the EMP table (in the USER3 schema) where last_name = 'Smith' in NEWWORKSPACE to its parent workspace.
EXECUTE DBMS_WM.MergeTable ('NEWWORKSPACE', 'user3.emp', 'last_name = ''Smith''');
|
|
![]() Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|