Home » SQL & PL/SQL » SQL & PL/SQL » Merge statement - oracle errors
Merge statement - oracle errors [message #237295] Mon, 14 May 2007 02:04 Go to next message
kesevan
Messages: 17
Registered: April 2007
Location: MUMABI
Junior Member

Dear Sir,

I have written the below MERGE statement...but while running in TOAD ( ver: 7.3 ), iam getting the below error:

************************************
The following error has occured
ORA-00904 : "A"."ACID":invalid identifier
************************************


Further i checked the subjects column in the table. it is existing only.... please correct my syntax error.....

thank you.


MERGE INTO gam a
   USING (SELECT   *
          FROM     fin_gam
          ORDER BY rcre_time) b
   ON (a.acid = b.acid AND a.foracid = b.foracid)
   WHEN MATCHED THEN
      UPDATE
         SET a.entity_cre_flg = b.entity_cre_flg, a.del_flg = b.del_flg
           , a.sol_id = b.sol_id, a.acct_prefix = b.acct_prefix
           , a.acct_num = b.acct_num, a.acid = b.bacid
           , a.acct_name = b.acct_name, a.acct_short_name = b.acct_short_name
           , a.cust_id = b.cust_id, a.emp_id = b.emp_id
           , a.gl_sub_head_code = b.gl_sub_head_code
           , a.acct_ownership = b.acct_ownership, a.schm_code = b.schm_code
           , a.dr_bal_lim = b.dr_bal_lim, a.acct_rpt_code = b.acct_rpt_code
           , a.frez_code = b.frez_code
           , a.frez_reason_code = b.frez_reason_code
           , a.acct_opn_date = b.acct_opn_date
           , a.acct_cls_flg = b.acct_cls_flg
           , a.acct_cls_date = b.acct_cls_date, a.clr_bal_amt = b.clr_bal_amt
           , a.tot_mod_times = b.tot_mod_times, a.ledg_num = b.ledg_num
           , a.un_clr_bal_amt = b.un_clr_bal_amt
           , a.drwng_power = b.drwng_power, a.sanct_lim = b.sanct_lim
           , a.adhoc_lim = b.adhoc_lim, a.emer_advn = b.emer_advn
           , a.dacc_lim = b.dacc_lim
           , a.system_reserved_amt = b.system_reserved_amt
           , a.single_tran_lim = b.single_tran_lim
           , a.clean_adhoc_lim = b.clean_adhoc_lim
           , a.clean_emer_advn = b.clean_emer_advn
           , a.clean_single_tran_lim = b.clean_single_tran_lim
           , a.system_gen_lim = b.system_gen_lim
           , a.chq_alwd_flg = b.chq_alwd_flg
           , a.cash_excp_amt_lim = b.cash_excp_amt_lim
           , a.clg_excp_amt_lim = b.clg_excp_amt_lim
           , a.xfer_excp_amt_lim = b.xfer_excp_amt_lim
           , a.cash_cr_excp_amt_lim = b.cash_cr_excp_amt_lim
           , a.clg_cr_excp_amt_lim = b.clg_cr_excp_amt_lim
           , a.xfer_cr_excp_amt_lim = b.xfer_cr_excp_amt_lim
           , a.cash_abnrml_amt_lim = b.cash_abnrml_amt_lim
           , a.clg_abnrml_amt_lim = b.clg_abnrml_amt_lim
           , a.xfer_abnrml_amt_lim = b.xfer_abnrml_amt_lim
           , a.cum_dr_amt = b.cum_dr_amt, a.cum_cr_amt = b.cum_cr_amt
           , a.acrd_cr_amt = b.acrd_cr_amt
           , a.last_tran_date = b.last_tran_date
           , a.mode_of_oper_code = b.mode_of_oper_code
           , a.pb_ps_code = b.pb_ps_code
           , a.serv_chrg_coll_flg = b.serv_chrg_coll_flg
           , a.free_text = b.free_text
           , a.acct_turnover_det_flg = b.acct_turnover_det_flg
           , a.nom_available_flg = b.nom_available_flg
           , a.acct_locn_code = b.acct_locn_code
           , a.last_purge_date = b.last_purge_date
           , a.bal_on_purge_date = b.bal_on_purge_date
           , a.int_paid_flg = b.int_paid_flg, a.int_coll_flg = b.int_coll_flg
           , a.last_any_tran_date = b.last_any_tran_date
           , a.hashed_no = b.hashed_no, a.lchg_user_id = b.lchg_user_id
           , a.lchg_time = b.lchg_time, a.rcre_user_id = b.rcre_user_id
           , a.rcre_time = b.rcre_time, a.limit_b2kid = b.limit_b2kid
           , a.drwng_power_ind = b.drwng_power_ind
           , a.drwng_power_pcnt = b.drwng_power_pcnt
           , a.micr_chq_chrg_coll_flg = b.micr_chq_chrg_coll_flg
           , a.last_turnover_date = b.last_turnover_date
           , a.notional_rate = b.notional_rate
           , a.notional_rate_code = b.notional_rate_code
           , a.fx_clr_bal_amt = b.fx_clr_bal_amt
           , a.fx_bal_on_purge_date = b.fx_bal_on_purge_date
           , a.fd_ref_num = b.fd_ref_num, a.fx_cum_cr_amt = b.fx_cum_cr_amt
           , a.fx_cum_dr_amt = b.fx_cum_dr_amt, a.crncy_code = b.crncy_code
           , a.source_of_fund = b.source_of_fund
           , a.anw_non_cust_alwd_flg = b.anw_non_cust_alwd_flg
           , a.acct_crncy_code = b.acct_crncy_code, a.lien_amt = b.lien_amt
           , a.acct_classification_flg = b.acct_classification_flg
           , a.system_only_acct_flg = b.system_only_acct_flg
           , a.single_tran_flg = b.single_tran_flg
           , a.utilised_amt = b.utilised_amt
           , a.inter_sol_access_flg = b.inter_sol_access_flg
           , a.purge_allowed_flg = b.purge_allowed_flg
           , a.purge_text = b.purge_text, a.min_value_date = b.min_value_date
           , a.acct_mgr_user_id = b.acct_mgr_user_id
           , a.schm_type = b.schm_type, a.last_frez_date = b.last_frez_date
           , a.last_unfrez_date = b.last_unfrez_date
           , a.bal_on_frez_date = b.bal_on_frez_date
           , a.swift_allowed_flg = b.swift_allowed_flg
           , a.dacc_lim_pcnt = b.dacc_lim_pcnt
           , a.dacc_lim_abs = b.dacc_lim_abs
           , a.chrg_level_code = b.chrg_level_code
           , a.acct_cls_chrg_pend_verf = b.acct_cls_chrg_pend_verf
           , a.partitioned_flg = b.partitioned_flg
           , a.partitioned_type = b.partitioned_type
           , a.pbf_download_flg = b.pbf_download_flg
           , a.pbf_delink_date = b.pbf_delink_date, a.wtax_flg = b.wtax_flg
           , a.wtax_amount_scope_flg = b.wtax_amount_scope_flg
           , a.int_adj_for_deduction_flg = b.int_adj_for_deduction_flg
           , a.operative_acid = b.operative_acid, a.phone_num = b.phone_num
           , a.native_lang_name = b.native_lang_name
           , a.nat_lang_title_code = b.nat_lang_title_code
           , a.lang_code = b.lang_code, a.ts_cnt = b.ts_cnt
           , a.pool_id = b.pool_id
           , a.lending_margin_pcnt = b.lending_margin_pcnt
           , a.allow_sweeps = b.allow_sweeps
           , a.bal_to_be_used_for_sweeps = b.bal_to_be_used_for_sweeps
           , a.order_of_utilisation = b.order_of_utilisation
           , a.wtax_pcnt = b.wtax_pcnt
           , a.wtax_floor_limit = b.wtax_floor_limit
           , a.dsa_penal_flg = b.dsa_penal_flg
           , a.product_group = b.product_group
           , a.source_deal_code = b.source_deal_code
           , a.disburse_deal_code = b.disburse_deal_code
   WHEN NOT MATCHED THEN
      INSERT
      VALUES (b.acid, b.entity_cre_flg, b.del_flg, b.sol_id, b.acct_prefix
            , b.acct_num, b.bacid, b.foracid, b.acct_name, b.acct_short_name
            , b.cust_id, b.emp_id, b.gl_sub_head_code, b.acct_ownership
            , b.schm_code, b.dr_bal_lim, b.acct_rpt_code, b.frez_code
            , b.frez_reason_code, b.acct_opn_date, b.acct_cls_flg
            , b.acct_cls_date, b.clr_bal_amt, b.tot_mod_times, b.ledg_num
            , b.un_clr_bal_amt, b.drwng_power, b.sanct_lim, b.adhoc_lim
            , b.emer_advn, b.dacc_lim, b.system_reserved_amt
            , b.single_tran_lim, b.clean_adhoc_lim, b.clean_emer_advn
            , b.clean_single_tran_lim, b.system_gen_lim, b.chq_alwd_flg
            , b.cash_excp_amt_lim, b.clg_excp_amt_lim, b.xfer_excp_amt_lim
            , b.cash_cr_excp_amt_lim, b.clg_cr_excp_amt_lim
            , b.xfer_cr_excp_amt_lim, b.cash_abnrml_amt_lim
            , b.clg_abnrml_amt_lim, b.xfer_abnrml_amt_lim, b.cum_dr_amt
            , b.cum_cr_amt, b.acrd_cr_amt, b.last_tran_date
            , b.mode_of_oper_code, b.pb_ps_code, b.serv_chrg_coll_flg
            , b.free_text, b.acct_turnover_det_flg, b.nom_available_flg
            , b.acct_locn_code, b.last_purge_date, b.bal_on_purge_date
            , b.int_paid_flg, b.int_coll_flg, b.last_any_tran_date
            , b.hashed_no, b.lchg_user_id, b.lchg_time, b.rcre_user_id
            , b.rcre_time, b.limit_b2kid, b.drwng_power_ind
            , b.drwng_power_pcnt, b.micr_chq_chrg_coll_flg
            , b.last_turnover_date, b.notional_rate, b.notional_rate_code
            , b.fx_clr_bal_amt, b.fx_bal_on_purge_date, b.fd_ref_num
            , b.fx_cum_cr_amt, b.fx_cum_dr_amt, b.crncy_code
            , b.source_of_fund, b.anw_non_cust_alwd_flg, b.acct_crncy_code
            , b.lien_amt, b.acct_classification_flg, b.system_only_acct_flg
            , b.single_tran_flg, b.utilised_amt, b.inter_sol_access_flg
            , b.purge_allowed_flg, b.purge_text, b.min_value_date
            , b.acct_mgr_user_id, b.schm_type, b.last_frez_date
            , b.last_unfrez_date, b.bal_on_frez_date, b.swift_allowed_flg
            , b.dacc_lim_pcnt, b.dacc_lim_abs, b.chrg_level_code
            , b.acct_cls_chrg_pend_verf, b.partitioned_flg
            , b.partitioned_type, b.pbf_download_flg, b.pbf_delink_date
            , b.wtax_flg, b.wtax_amount_scope_flg
            , b.int_adj_for_deduction_flg, b.operative_acid, b.phone_num
            , b.native_lang_name, b.nat_lang_title_code, b.lang_code
            , b.ts_cnt, b.pool_id, b.lending_margin_pcnt, b.allow_sweeps
            , b.bal_to_be_used_for_sweeps, b.order_of_utilisation
            , b.wtax_pcnt, b.wtax_floor_limit, b.dsa_penal_flg
            , b.product_group, b.source_deal_code, b.disburse_deal_code);

[Updated on: Mon, 14 May 2007 07:39] by Moderator

Report message to a moderator

Re: Merge statement - syntax error ( oracle : 9.2.0.1.0 ) [message #237299 is a reply to message #237295] Mon, 14 May 2007 02:07 Go to previous messageGo to next message
bonker
Messages: 402
Registered: July 2005
Senior Member
you cannot update the column that you are joining on

Update Set
.....
A.ACID=B.BACID
...


[Updated on: Mon, 14 May 2007 02:09]

Report message to a moderator

Re: Merge statement - syntax error ( oracle : 9.2.0.1.0 ) [message #237314 is a reply to message #237299] Mon, 14 May 2007 02:46 Go to previous messageGo to next message
kesevan
Messages: 17
Registered: April 2007
Location: MUMABI
Junior Member

Dear Bonker,
Yes, it is working now. Thank you for your prompt assistance.

Kesavan.
Re: Merge statement - syntax error ( oracle : 9.2.0.1.0 ) [message #237351 is a reply to message #237314] Mon, 14 May 2007 04:10 Go to previous messageGo to next message
bonker
Messages: 402
Registered: July 2005
Senior Member
you are Welcome,

This is Finacle application isn't it?
Re: Merge statement - syntax error ( oracle : 9.2.0.1.0 ) [message #237893 is a reply to message #237351] Wed, 16 May 2007 01:44 Go to previous messageGo to next message
kesevan
Messages: 17
Registered: April 2007
Location: MUMABI
Junior Member

Yes Bonker,
You are right... It is Finacle applicaton only... !!
merge statement - oracle error ORA-30926 [message #237903 is a reply to message #237295] Wed, 16 May 2007 01:59 Go to previous messageGo to next message
mr_dba01
Messages: 5
Registered: May 2007
Location: mumbai
Junior Member
Dear all,
I have written a merge statement as shown below.With small data it is satisfying purpose but throwing an error as shown below:

*************************************************************
Error Number is : -30926
Error Message is : ORA-30926: unable to get a stable set of rows in the source tables
**************************************************************
When I tried with large amount of data it failed. What should I do to correct the error????

The merge statement is as shown below:
************************************************************
MERGE INTO gam a
   USING (SELECT   *
          FROM     fin_gam
          ORDER BY rcre_time) b
   ON (a.acid = b.acid AND a.foracid = b.foracid)
   WHEN MATCHED THEN
      UPDATE
         SET a.entity_cre_flg = b.entity_cre_flg, a.del_flg = b.del_flg
           , a.sol_id = b.sol_id, a.acct_prefix = b.acct_prefix
           , a.acct_num = b.acct_num, a.acct_name = b.acct_name
           , a.acct_short_name = b.acct_short_name, a.cust_id = b.cust_id
           , a.emp_id = b.emp_id, a.gl_sub_head_code = b.gl_sub_head_code
           , a.acct_ownership = b.acct_ownership, a.schm_code = b.schm_code
           , a.dr_bal_lim = b.dr_bal_lim, a.acct_rpt_code = b.acct_rpt_code
           , a.frez_code = b.frez_code
           , a.frez_reason_code = b.frez_reason_code
           , a.acct_opn_date = b.acct_opn_date
           , a.acct_cls_flg = b.acct_cls_flg
           , a.acct_cls_date = b.acct_cls_date, a.clr_bal_amt = b.clr_bal_amt
           , a.tot_mod_times = b.tot_mod_times, a.ledg_num = b.ledg_num
           , a.un_clr_bal_amt = b.un_clr_bal_amt
           , a.drwng_power = b.drwng_power, a.sanct_lim = b.sanct_lim
           , a.adhoc_lim = b.adhoc_lim, a.emer_advn = b.emer_advn
           , a.dacc_lim = b.dacc_lim
           , a.system_reserved_amt = b.system_reserved_amt
           , a.single_tran_lim = b.single_tran_lim
           , a.clean_adhoc_lim = b.clean_adhoc_lim
           , a.clean_emer_advn = b.clean_emer_advn
           , a.clean_single_tran_lim = b.clean_single_tran_lim
           , a.system_gen_lim = b.system_gen_lim
           , a.chq_alwd_flg = b.chq_alwd_flg
           , a.cash_excp_amt_lim = b.cash_excp_amt_lim
           , a.clg_excp_amt_lim = b.clg_excp_amt_lim
           , a.xfer_excp_amt_lim = b.xfer_excp_amt_lim
           , a.cash_cr_excp_amt_lim = b.cash_cr_excp_amt_lim
           , a.clg_cr_excp_amt_lim = b.clg_cr_excp_amt_lim
           , a.xfer_cr_excp_amt_lim = b.xfer_cr_excp_amt_lim
           , a.cash_abnrml_amt_lim = b.cash_abnrml_amt_lim
           , a.clg_abnrml_amt_lim = b.clg_abnrml_amt_lim
           , a.xfer_abnrml_amt_lim = b.xfer_abnrml_amt_lim
           , a.cum_dr_amt = b.cum_dr_amt, a.cum_cr_amt = b.cum_cr_amt
           , a.acrd_cr_amt = b.acrd_cr_amt
           , a.last_tran_date = b.last_tran_date
           , a.mode_of_oper_code = b.mode_of_oper_code
           , a.pb_ps_code = b.pb_ps_code
           , a.serv_chrg_coll_flg = b.serv_chrg_coll_flg
           , a.free_text = b.free_text
           , a.acct_turnover_det_flg = b.acct_turnover_det_flg
           , a.nom_available_flg = b.nom_available_flg
           , a.acct_locn_code = b.acct_locn_code
           , a.last_purge_date = b.last_purge_date
           , a.bal_on_purge_date = b.bal_on_purge_date
           , a.int_paid_flg = b.int_paid_flg, a.int_coll_flg = b.int_coll_flg
           , a.last_any_tran_date = b.last_any_tran_date
           , a.hashed_no = b.hashed_no, a.lchg_user_id = b.lchg_user_id
           , a.lchg_time = b.lchg_time, a.rcre_user_id = b.rcre_user_id
           , a.rcre_time = b.rcre_time, a.limit_b2kid = b.limit_b2kid
           , a.drwng_power_ind = b.drwng_power_ind
           , a.drwng_power_pcnt = b.drwng_power_pcnt
           , a.micr_chq_chrg_coll_flg = b.micr_chq_chrg_coll_flg
           , a.last_turnover_date = b.last_turnover_date
           , a.notional_rate = b.notional_rate
           , a.notional_rate_code = b.notional_rate_code
           , a.fx_clr_bal_amt = b.fx_clr_bal_amt
           , a.fx_bal_on_purge_date = b.fx_bal_on_purge_date
           , a.fd_ref_num = b.fd_ref_num, a.fx_cum_cr_amt = b.fx_cum_cr_amt
           , a.fx_cum_dr_amt = b.fx_cum_dr_amt, a.crncy_code = b.crncy_code
           , a.source_of_fund = b.source_of_fund
           , a.anw_non_cust_alwd_flg = b.anw_non_cust_alwd_flg
           , a.acct_crncy_code = b.acct_crncy_code, a.lien_amt = b.lien_amt
           , a.acct_classification_flg = b.acct_classification_flg
           , a.system_only_acct_flg = b.system_only_acct_flg
           , a.single_tran_flg = b.single_tran_flg
           , a.utilised_amt = b.utilised_amt
           , a.inter_sol_access_flg = b.inter_sol_access_flg
           , a.purge_allowed_flg = b.purge_allowed_flg
           , a.purge_text = b.purge_text, a.min_value_date = b.min_value_date
           , a.acct_mgr_user_id = b.acct_mgr_user_id
           , a.schm_type = b.schm_type, a.last_frez_date = b.last_frez_date
           , a.last_unfrez_date = b.last_unfrez_date
           , a.bal_on_frez_date = b.bal_on_frez_date
           , a.swift_allowed_flg = b.swift_allowed_flg
           , a.dacc_lim_pcnt = b.dacc_lim_pcnt
           , a.dacc_lim_abs = b.dacc_lim_abs
           , a.chrg_level_code = b.chrg_level_code
           , a.acct_cls_chrg_pend_verf = b.acct_cls_chrg_pend_verf
           , a.partitioned_flg = b.partitioned_flg
           , a.partitioned_type = b.partitioned_type
           , a.pbf_download_flg = b.pbf_download_flg
           , a.pbf_delink_date = b.pbf_delink_date, a.wtax_flg = b.wtax_flg
           , a.wtax_amount_scope_flg = b.wtax_amount_scope_flg
           , a.int_adj_for_deduction_flg = b.int_adj_for_deduction_flg
           , a.operative_acid = b.operative_acid, a.phone_num = b.phone_num
           , a.native_lang_name = b.native_lang_name
           , a.nat_lang_title_code = b.nat_lang_title_code
           , a.lang_code = b.lang_code, a.ts_cnt = b.ts_cnt
           , a.pool_id = b.pool_id
           , a.lending_margin_pcnt = b.lending_margin_pcnt
           , a.allow_sweeps = b.allow_sweeps
           , a.bal_to_be_used_for_sweeps = b.bal_to_be_used_for_sweeps
           , a.order_of_utilisation = b.order_of_utilisation
           , a.wtax_pcnt = b.wtax_pcnt
           , a.wtax_floor_limit = b.wtax_floor_limit
           , a.dsa_penal_flg = b.dsa_penal_flg
           , a.product_group = b.product_group
           , a.source_deal_code = b.source_deal_code
           , a.disburse_deal_code = b.disburse_deal_code
   WHEN NOT MATCHED THEN
      INSERT
      VALUES (b.acid, b.entity_cre_flg, b.del_flg, b.sol_id, b.acct_prefix
            , b.acct_num, b.bacid, b.foracid, b.acct_name, b.acct_short_name
            , b.cust_id, b.emp_id, b.gl_sub_head_code, b.acct_ownership
            , b.schm_code, b.dr_bal_lim, b.acct_rpt_code, b.frez_code
            , b.frez_reason_code, b.acct_opn_date, b.acct_cls_flg
            , b.acct_cls_date, b.clr_bal_amt, b.tot_mod_times, b.ledg_num
            , b.un_clr_bal_amt, b.drwng_power, b.sanct_lim, b.adhoc_lim
            , b.emer_advn, b.dacc_lim, b.system_reserved_amt
            , b.single_tran_lim, b.clean_adhoc_lim, b.clean_emer_advn
            , b.clean_single_tran_lim, b.system_gen_lim, b.chq_alwd_flg
            , b.cash_excp_amt_lim, b.clg_excp_amt_lim, b.xfer_excp_amt_lim
            , b.cash_cr_excp_amt_lim, b.clg_cr_excp_amt_lim
            , b.xfer_cr_excp_amt_lim, b.cash_abnrml_amt_lim
            , b.clg_abnrml_amt_lim, b.xfer_abnrml_amt_lim, b.cum_dr_amt
            , b.cum_cr_amt, b.acrd_cr_amt, b.last_tran_date
            , b.mode_of_oper_code, b.pb_ps_code, b.serv_chrg_coll_flg
            , b.free_text, b.acct_turnover_det_flg, b.nom_available_flg
            , b.acct_locn_code, b.last_purge_date, b.bal_on_purge_date
            , b.int_paid_flg, b.int_coll_flg, b.last_any_tran_date
            , b.hashed_no, b.lchg_user_id, b.lchg_time, b.rcre_user_id
            , b.rcre_time, b.limit_b2kid, b.drwng_power_ind
            , b.drwng_power_pcnt, b.micr_chq_chrg_coll_flg
            , b.last_turnover_date, b.notional_rate, b.notional_rate_code
            , b.fx_clr_bal_amt, b.fx_bal_on_purge_date, b.fd_ref_num
            , b.fx_cum_cr_amt, b.fx_cum_dr_amt, b.crncy_code
            , b.source_of_fund, b.anw_non_cust_alwd_flg, b.acct_crncy_code
            , b.lien_amt, b.acct_classification_flg, b.system_only_acct_flg
            , b.single_tran_flg, b.utilised_amt, b.inter_sol_access_flg
            , b.purge_allowed_flg, b.purge_text, b.min_value_date
            , b.acct_mgr_user_id, b.schm_type, b.last_frez_date
            , b.last_unfrez_date, b.bal_on_frez_date, b.swift_allowed_flg
            , b.dacc_lim_pcnt, b.dacc_lim_abs, b.chrg_level_code
            , b.acct_cls_chrg_pend_verf, b.partitioned_flg
            , b.partitioned_type, b.pbf_download_flg, b.pbf_delink_date
            , b.wtax_flg, b.wtax_amount_scope_flg
            , b.int_adj_for_deduction_flg, b.operative_acid, b.phone_num
            , b.native_lang_name, b.nat_lang_title_code, b.lang_code
            , b.ts_cnt, b.pool_id, b.lending_margin_pcnt, b.allow_sweeps
            , b.bal_to_be_used_for_sweeps, b.order_of_utilisation
            , b.wtax_pcnt, b.wtax_floor_limit, b.dsa_penal_flg
            , b.product_group, b.source_deal_code, b.disburse_deal_code);


Thanks & Regards
Prasad

[Updated on: Wed, 16 May 2007 02:01] by Moderator

Report message to a moderator

Re: merge statement - oracle error ORA-30926 [message #237909 is a reply to message #237903] Wed, 16 May 2007 02:09 Go to previous messageGo to next message
shanthkumaar
Messages: 156
Registered: February 2007
Location: india,chennai
Senior Member

hi,

ORA-30926: unable to get a stable set of rows in the source tables

When performing a merge statement, the table to be merged had multiple records
with the same key used for matching. While this is ok 
for records to be 
inserted into the target table, Oracle doesn't like this 
on the update portion of the statement. 
The solution is to remove the duplicate 
or pick a matching key that is truely unique.


regards
shanth.

[Updated on: Wed, 16 May 2007 02:10]

Report message to a moderator

Re: merge statement - oracle error ORA-30926 [message #237910 is a reply to message #237903] Wed, 16 May 2007 02:10 Go to previous message
Michel Cadot
Messages: 64117
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator
ora-30926: unable to get a stable set of rows in the source tables
 *Cause:  A stable set of rows could not be got because of large dml
          activity or a non-deterministic where clause.
 *Action: Remove any non-deterministic where clauses and reissue the dml.

Have a look at Metalink note 137202.1 but I'm not sure it will help you in your specific case.

Regards
Michel
Previous Topic: TABLESPACE PERCENT
Next Topic: remote from SQL server to Oracle problem
Goto Forum:
  


Current Time: Tue Dec 06 04:24:08 CST 2016

Total time taken to generate the page: 0.15409 seconds