I have set up snapshot replication on a oracle 8i system and I'm having trouble defining a custom conflict resolution method.
I want to have an update resolution method that uses all columns from my column group. But from the oracle documentation I cannot clearly determine how I should define my stored procedure. Maybe someone can help me out.
Say I have a table 'Table1' of which all columns are in a column group 'Table1_CRG'. Those columns are 'Column1', 'Column2', 'Column3'.
I have added my stored procedure 'Table1_CRF' as a conflict resolution method with the DBMS_REPCAT.ADD_UPDATE_RESOLUTION stored procedure to the column group 'Table1_CRG' and can see that this worked with the Oracle GUI tools and with the appropriate views.
But when I try to resolve a conflict on 'Table1' I get a 'ORA-01006: bind variable does not exist' error.
My stored procedure 'Table1_CRF' is defined as:
CREATE OR REPLACE FUNCTION GEVSTOF.CRF_ERKENNING(
P_COLUMN1_OLD IN NUMBER
, P_COLUMN1_NEW IN OUT NUMBER
, P_COLUMN1_CUR IN NUMBER
, P_COLUMN2_OLD IN NUMBER
, P_COLUMN2_NEW IN OUT NUMBER
, P_COLUMN2_CUR IN NUMBER
, P_COLUMN3_OLD IN NUMBER
, P_COLUMN3_NEW IN OUT NUMBER
, P_COLUMN3_CUR IN NUMBER
, DISCARD OUT BOOLEAN
I have tried a few variations with the 'discard' parameter (should I have 1 in total or 1 for each column?), but no changes. The only time I get the thing to work is when I define only one column in my columngroup and then have only 4 params in my stored proc (old, new, cur, discard).
Does anyone have an idea about what I am doing wrong or where I might find more information on this topic?