Name
DBMS_REPCAT.SET_COLUMNS
Synopsis
When you replicate a table, Oracle must be able to uniquely identify each record in the table so that it can propagate changes to the correct row or rows. By default, the advanced replication facilities use the primary key to identify rows. However, if your table does not have a primary key or if you wish to use a different criterion to uniquely identify records, you can use SET_COLUMNS to designate a pseudo primary key. Columns designated with this procedure may contain NULL values.
PROCEDURE DBMS_REPCAT.SET_COLUMNS (sname IN VARCHAR2, oname IN VARCHAR2, column_list IN VARCHAR2 | column_table IN dbms_utility.name_array);
Parameters
Parameter Name | Description |
|---|---|
sname | Name of the schema that owns the replicated table. |
oname | Name of the table with the column_group. |
column_list | A comma-delimited list of column names to use as the pseudo primary key. Use either column_list or column_table. |
column_table | A PL/SQL table of column names. Use either column_list or column_table. |
Exceptions
Exception Name | Number | Description |
|---|---|---|
missingcolumn | –23334 | Column(s) specified do not exist in table oname. |
missingobject | –23308 | Table oname does not exist. |
nonmasterdef | –23312 | Invoking site is not the master definition site. |
Restrictions
SET_COLUMNS must be run from the master definition site.
The changes do not take effect until the next call to GENERATE_REPLICATION_SUPPORT.