ORA-22816: unsupported feature with RETURNING clause
My database is: 10g 10.2.0.3.0
Sorry this is a little long but I need some help!
The insert is being done in PLSQL with SQL.
I am trying to Insert a row into a view the view has 3 Instead of triggers. (insert, update, delete)
I have looked up this error and have seen that you cannot use a RETURNING clause on view with INSTEAD OF triggers
because it is not supported?
My issue is, I cannot find any code around this view where a RETURNING clause is being used.
Does anyone have any idea what else this could be??
1. The trigger populates old and new values based on wether it is an insert update or delete,
and then calls a procedure to do the insert, update or delete.
2. Then calls another procedure that builds an XML string to pass into oracle queueing.
They are all new triggers and procedures I have written.
I searched for "RETURNING" in all other dependent objects for this view and could not find anything.
Thats why I was wondering if it could be anything else?
Another FYI. This whole procedure is actually on some other tables as well. It works fine with no issue on the tables.
It wasn't until I started testing the VIEW that I started getting this error.
I commented out the procedure calls and I still have an issue. I disabled the trigger and the issue went away.
Another FYI to make it more interesting, The instead of update and the instead of delete triggers on this view
work just fine with the package calls and everything. They are written exactly as the instead of insert trigger.
It is only the instead of insert trigger that it is getting this error.
Can someone help??? See Instead of Insert trigger below.
{CREATE OR REPLACE TRIGGER TRIIBTF97A
INSTEAD OF INSERT ON RTI_BUS_TA_FORM97A_VW
FOR EACH ROW
DECLARE
old_rec RTI_BUS_TA_FORM97A_VW%ROWTYPE;
new_rec RTI_BUS_TA_FORM97A_VW%ROWTYPE;
v_change_type VARCHAR2(8);
v_event_source VARCHAR2(20) := 'TRIIBTF97A';
BEGIN
-- only new values on inserts
new_rec.DOC_LOC_NBR := :new.DOC_LOC_NBR ;
new_rec.TRAN_ID := :new.TRAN_ID ;
new_rec.RPTD_ADJ_SUBTOT_AMT := :new.RPTD_ADJ_SUBTOT_AMT ;
new_rec.CALC_ADJ_SUBTOT_AMT := :new.CALC_ADJ_SUBTOT_AMT ;
new_rec.RPTD_ADJ_SUBTOT2_AMT := :new.RPTD_ADJ_SUBTOT2_AMT ;
new_rec.CALC_ADJ_SUBTOT2_AMT := :new.CALC_ADJ_SUBTOT2_AMT ;
new_rec.RPTD_AGI_PRENOL_AMT := :new.RPTD_AGI_PRENOL_AMT ;
new_rec.CALC_AGI_PRENOL_AMT := :new.CALC_AGI_PRENOL_AMT ;
new_rec.RPTD_BAL_DUE_AMT := :new.RPTD_BAL_DUE_AMT ;
new_rec.CALC_BAL_DUE_AMT := :new.CALC_BAL_DUE_AMT ;
new_rec.RPTD_CC_CRED_AMT := :new.RPTD_CC_CRED_AMT ;
new_rec.CALC_CC_CRED_AMT := :new.CALC_CC_CRED_AMT ;
new_rec.RPTD_CHAR_CONTRIB_AMT := :new.RPTD_CHAR_CONTRIB_AMT ;
new_rec.CALC_CHAR_CONTRIB_AMT := :new.CALC_CHAR_CONTRIB_AMT ;
new_rec.RPTD_DIV_DEDUC_AMT := :new.RPTD_DIV_DEDUC_AMT ;
new_rec.CALC_DIV_DEDUC_AMT := :new.CALC_DIV_DEDUC_AMT ;
new_rec.RPTD_EST_PMT_AMT := :new.RPTD_EST_PMT_AMT ;
new_rec.CALC_EST_PMT_AMT := :new.CALC_EST_PMT_AMT ;
new_rec.RPTD_EZ_EMP_CRED_AMT := :new.RPTD_EZ_EMP_CRED_AMT ;
new_rec.CALC_EZ_EMP_CRED_AMT := :new.CALC_EZ_EMP_CRED_AMT ;
new_rec.RPTD_FED_INCM_AMT := :new.RPTD_FED_INCM_AMT ;
new_rec.CALC_FED_INCM_AMT := :new.CALC_FED_INCM_AMT ;
new_rec.RPTD_FRGN_GROSS_UP_AMT := :new.RPTD_FRGN_GROSS_UP_AMT ;
new_rec.CALC_FRGN_GROSS_UP_AMT := :new.CALC_FRGN_GROSS_UP_AMT ;
new_rec.RPTD_LREPT_AMT := :new.RPTD_LREPT_AMT ;
new_rec.CALC_LREPT_AMT := :new.CALC_LREPT_AMT ;
new_rec.RPTD_HRSJT_AMT := :new.RPTD_HRSJT_AMT ;
new_rec.CALC_HRSJT_AMT := :new.CALC_HRSJT_AMT ;
new_rec.RPTD_RELST_TAX_AMT := :new.RPTD_RELST_TAX_AMT ;
new_rec.CALC_RELST_TAX_AMT := :new.CALC_RELST_TAX_AMT ;
new_rec.RPTD_GOVT_INT_AMT := :new.RPTD_GOVT_INT_AMT ;
new_rec.CALC_GOVT_INT_AMT := :new.CALC_GOVT_INT_AMT ;
new_rec.RPTD_IN_AGI1_AMT := :new.RPTD_IN_AGI1_AMT ;
new_rec.CALC_IN_AGI1_AMT := :new.CALC_IN_AGI1_AMT ;
new_rec.RPTD_LRSJT_AMT := :new.RPTD_LRSJT_AMT ;
new_rec.CALC_LRSJT_AMT := :new.CALC_LRSJT_AMT ;
new_rec.RPTD_IN_NOL_AMT := :new.RPTD_IN_NOL_AMT ;
new_rec.CALC_IN_NOL_AMT := :new.CALC_IN_NOL_AMT ;
new_rec.RPTD_INCM_SUBTOT_AMT := :new.RPTD_INCM_SUBTOT_AMT ;
new_rec.CALC_INCM_SUBTOT_AMT := :new.CALC_INCM_SUBTOT_AMT ;
new_rec.RPTD_INT_DUE_AMT := :new.RPTD_INT_DUE_AMT ;
new_rec.CALC_INT_DUE_AMT := :new.CALC_INT_DUE_AMT ;
new_rec.RPTD_IRECV_CRED_AMT := :new.RPTD_IRECV_CRED_AMT ;
new_rec.CALC_IRECV_CRED_AMT := :new.CALC_IRECV_CRED_AMT ;
new_rec.RPTD_LATE_PEN_AMT := :new.RPTD_LATE_PEN_AMT ;
new_rec.CALC_LATE_PEN_AMT := :new.CALC_LATE_PEN_AMT ;
new_rec.RPTD_LIC_CRED_AMT := :new.RPTD_LIC_CRED_AMT ;
new_rec.CALC_LIC_CRED_AMT := :new.CALC_LIC_CRED_AMT ;
new_rec.RPTD_MODIF_AMT := :new.RPTD_MODIF_AMT ;
new_rec.CALC_MODIF_AMT := :new.CALC_MODIF_AMT ;
new_rec.RPTD_NAC_CRED_AMT := :new.RPTD_NAC_CRED_AMT ;
new_rec.CALC_NAC_CRED_AMT := :new.CALC_NAC_CRED_AMT ;
new_rec.RPTD_NONBUS_DISTA_AMT := :new.RPTD_NONBUS_DISTA_AMT ;
new_rec.CALC_NONBUS_DISTA_AMT := :new.CALC_NONBUS_DISTA_AMT ;
new_rec.RPTD_LTOT_AMT := :new.RPTD_LTOT_AMT ;
new_rec.CALC_LTOT_AMT := :new.CALC_LTOT_AMT ;
new_rec.RPTD_OTH_ADJ_AMT := :new.RPTD_OTH_ADJ_AMT ;
new_rec.CALC_OTH_ADJ_AMT := :new.CALC_OTH_ADJ_AMT ;
new_rec.RPTD_OTH_CRED_AMT := :new.RPTD_OTH_CRED_AMT ;
new_rec.CALC_OTH_CRED_AMT := :new.CALC_OTH_CRED_AMT ;
new_rec.RPTD_OTH_PMT_AMT := :new.RPTD_OTH_PMT_AMT ;
new_rec.CALC_OTH_PMT_AMT := :new.CALC_OTH_PMT_AMT ;
new_rec.RPTD_OVERPMT_CRED_AMT := :new.RPTD_OVERPMT_CRED_AMT ;
new_rec.CALC_OVERPMT_CRED_AMT := :new.CALC_OVERPMT_CRED_AMT ;
new_rec.RPTD_PRIOR_EXT_PMT_AMT := :new.RPTD_PRIOR_EXT_PMT_AMT ;
new_rec.CALC_PRIOR_EXT_PMT_AMT := :new.CALC_PRIOR_EXT_PMT_AMT ;
new_rec.RPTD_HRNTX_AMT := :new.RPTD_HRNTX_AMT ;
new_rec.CALC_HRNTX_AMT := :new.CALC_HRNTX_AMT ;
new_rec.RPTD_LRNTX_AMT := :new.RPTD_LRNTX_AMT ;
new_rec.CALC_LRNTX_AMT := :new.CALC_LRNTX_AMT ;
new_rec.RPTD_REFUND_DUE_AMT := :new.RPTD_REFUND_DUE_AMT ;
new_rec.CALC_REFUND_DUE_AMT := :new.CALC_REFUND_DUE_AMT ;
new_rec.RPTD_RELST_PP_TAX_AMT := :new.RPTD_RELST_PP_TAX_AMT ;
new_rec.CALC_RELST_PP_TAX_AMT := :new.CALC_RELST_PP_TAX_AMT ;
new_rec.RPTD_STATE_TAX_AMT := :new.RPTD_STATE_TAX_AMT ;
new_rec.CALC_STATE_TAX_AMT := :new.CALC_STATE_TAX_AMT ;
new_rec.RPTD_SU_TAX_AMT := :new.RPTD_SU_TAX_AMT ;
new_rec.CALC_SU_TAX_AMT := :new.CALC_SU_TAX_AMT ;
new_rec.RPTD_HREPT_AMT := :new.RPTD_HREPT_AMT ;
new_rec.CALC_HREPT_AMT := :new.CALC_HREPT_AMT ;
new_rec.RPTD_SUPP_NI_TAX1_AMT := :new.RPTD_SUPP_NI_TAX1_AMT ;
new_rec.CALC_SUPP_NI_TAX1_AMT := :new.CALC_SUPP_NI_TAX1_AMT ;
new_rec.RPTD_TAX_BUS_INC_AMT := :new.RPTD_TAX_BUS_INC_AMT ;
new_rec.CALC_TAX_BUS_INC_AMT := :new.CALC_TAX_BUS_INC_AMT ;
new_rec.RPTD_TOT_REL_TAX_AMT := :new.RPTD_TOT_REL_TAX_AMT ;
new_rec.CALC_TOT_REL_TAX_AMT := :new.CALC_TOT_REL_TAX_AMT ;
new_rec.RPTD_TAX_SUBTOT_AMT := :new.RPTD_TAX_SUBTOT_AMT ;
new_rec.CALC_TAX_SUBTOT_AMT := :new.CALC_TAX_SUBTOT_AMT ;
new_rec.RPTD_TCSP_CRED_AMT := :new.RPTD_TCSP_CRED_AMT ;
new_rec.CALC_TCSP_CRED_AMT := :new.CALC_TCSP_CRED_AMT ;
new_rec.RPTD_TOT_CRED_AMT := :new.RPTD_TOT_CRED_AMT ;
new_rec.CALC_TOT_CRED_AMT := :new.CALC_TOT_CRED_AMT ;
new_rec.RPTD_TOT_DUE_AMT := :new.RPTD_TOT_DUE_AMT ;
new_rec.CALC_TOT_DUE_AMT := :new.CALC_TOT_DUE_AMT ;
new_rec.RPTD_TOT_OVERPMT_AMT := :new.RPTD_TOT_OVERPMT_AMT ;
new_rec.CALC_TOT_OVERPMT_AMT := :new.CALC_TOT_OVERPMT_AMT ;
new_rec.RPTD_TOT_PMT_AMT := :new.RPTD_TOT_PMT_AMT ;
new_rec.CALC_TOT_PMT_AMT := :new.CALC_TOT_PMT_AMT ;
new_rec.RPTD_HTOT_AMT := :new.RPTD_HTOT_AMT ;
new_rec.CALC_HTOT_AMT := :new.CALC_HTOT_AMT ;
new_rec.RPTD_TAX_DUE_AMT := :new.RPTD_TAX_DUE_AMT ;
new_rec.CALC_TAX_DUE_AMT := :new.CALC_TAX_DUE_AMT ;
new_rec.RPTD_TAX_DUE2_AMT := :new.RPTD_TAX_DUE2_AMT ;
new_rec.CALC_TAX_DUE2_AMT := :new.CALC_TAX_DUE2_AMT ;
new_rec.RPTD_UNDERPMT_PEN_AMT := :new.RPTD_UNDERPMT_PEN_AMT ;
new_rec.CALC_UNDERPMT_PEN_AMT := :new.CALC_UNDERPMT_PEN_AMT ;
new_rec.RFND_1_INT_RATE := :new.RFND_1_INT_RATE ;
new_rec.RFND_1_AMT := :new.RFND_1_AMT ;
new_rec.RFND_2_INT_RATE := :new.RFND_2_INT_RATE ;
new_rec.RFND_2_AMT := :new.RFND_2_AMT ;
new_rec.RFND_3_INT_RATE := :new.RFND_3_INT_RATE ;
new_rec.RFND_3_AMT := :new.RFND_3_AMT ;
new_rec.RFND_4_INT_RATE := :new.RFND_4_INT_RATE ;
new_rec.RFND_4_AMT := :new.RFND_4_AMT ;
new_rec.RPTD_HRAMT_AMT := :new.RPTD_HRAMT_AMT ;
new_rec.CALC_HRAMT_AMT := :new.CALC_HRAMT_AMT ;
new_rec.RPTD_LRAMT_AMT := :new.RPTD_LRAMT_AMT ;
new_rec.CALC_LRAMT_AMT := :new.CALC_LRAMT_AMT ;
new_rec.RPTD_CMBTX_AMT := :new.RPTD_CMBTX_AMT ;
new_rec.CALC_CMBTX_AMT := :new.CALC_CMBTX_AMT ;
new_rec.RPTD_HRSUB_AMT := :new.RPTD_HRSUB_AMT ;
new_rec.CALC_HRSUB_AMT := :new.CALC_HRSUB_AMT ;
new_rec.RPTD_LRSUB_AMT := :new.RPTD_LRSUB_AMT ;
new_rec.CALC_LRSUB_AMT := :new.CALC_LRSUB_AMT ;
new_rec.RPTD_FUEL_CRED_AMT := :new.RPTD_FUEL_CRED_AMT ;
new_rec.CALC_FUEL_CRED_AMT := :new.CALC_FUEL_CRED_AMT ;
new_rec.RPTD_ADJUST_AMT := :new.RPTD_ADJUST_AMT ;
new_rec.CALC_ADJUST_AMT := :new.CALC_ADJUST_AMT ;
new_rec.RPTD_CARRY_YR_NBR := :new.RPTD_CARRY_YR_NBR ;
new_rec.CALC_CARRY_YR_NBR := :new.CALC_CARRY_YR_NBR ;
new_rec.RPTD_APPORT_PCNT := :new.RPTD_APPORT_PCNT ;
new_rec.CALC_APPORT_PCNT := :new.CALC_APPORT_PCNT ;
new_rec.RPTD_IN_APPORT_AMT := :new.RPTD_IN_APPORT_AMT ;
new_rec.CALC_IN_APPORT_AMT := :new.CALC_IN_APPORT_AMT ;
new_rec.RPTD_AGI_TAX_AMT := :new.RPTD_AGI_TAX_AMT ;
new_rec.CALC_AGI_TAX_AMT := :new.CALC_AGI_TAX_AMT ;
new_rec.RPTD_NONBUS_DISTB_AMT := :new.RPTD_NONBUS_DISTB_AMT ;
new_rec.CALC_NONBUS_DISTB_AMT := :new.CALC_NONBUS_DISTB_AMT ;
new_rec.RPTD_TOT_INC_AMT := :new.RPTD_TOT_INC_AMT ;
new_rec.CALC_TOT_INC_AMT := :new.CALC_TOT_INC_AMT ;
new_rec.REMIT_AMT := :new.REMIT_AMT ;
new_rec.RFND_1_DT := :new.RFND_1_DT ;
new_rec.PPIS_NAME := :new.PPIS_NAME ;
new_rec.RFND_2_DT := :new.RFND_2_DT ;
new_rec.EXT_FILED_INDC := :new.EXT_FILED_INDC ;
new_rec.RFND_3_DT := :new.RFND_3_DT ;
new_rec.INIT_RET_INDC := :new.INIT_RET_INDC ;
new_rec.RFND_4_DT := :new.RFND_4_DT ;
new_rec.FINAL_RET_INDC := :new.FINAL_RET_INDC ;
new_rec.INT_PD_TO_DT := :new.INT_PD_TO_DT ;
new_rec.UNITARY_COMB_INDC := :new.UNITARY_COMB_INDC ;
new_rec.PPIS_ST_3_ADDR := :new.PPIS_ST_3_ADDR ;
new_rec.PPIS_ST_1_ADDR := :new.PPIS_ST_1_ADDR ;
new_rec.PPIS_CHK_BOX := :new.PPIS_CHK_BOX ;
new_rec.PPIS_PHN_NMBR := :new.PPIS_PHN_NMBR ;
new_rec.INTERNAL_ID := :new.INTERNAL_ID ;
new_rec.PPIS_ST_2_ADDR := :new.PPIS_ST_2_ADDR ;
new_rec.PPIS_CTRY_CD := :new.PPIS_CTRY_CD ;
new_rec.PPIS_CTY_ADDR := :new.PPIS_CTY_ADDR ;
new_rec.PPIS_CTRY_OLD := :new.PPIS_CTRY_OLD ;
new_rec.PPIS_STATE_CD := :new.PPIS_STATE_CD ;
new_rec.EXT_ATT_INDC := :new.EXT_ATT_INDC ;
new_rec.PPIS_ZIP := :new.PPIS_ZIP ;
new_rec.SCORP_INDC := :new.SCORP_INDC ;
new_rec.PPIS_ID := :new.PPIS_ID ;
new_rec.PPIS_ID_TP_CD := :new.PPIS_ID_TP_CD ;
new_rec.APPORT_METHOD_CD := :new.APPORT_METHOD_CD ;
new_rec.INS_CO_INDC := :new.INS_CO_INDC ;
new_rec.PER_BEGIN_DT := :new.PER_BEGIN_DT ;
new_rec.PER_END_DT := :new.PER_END_DT ;
new_rec.FORM_DT := :new.FORM_DT ;
new_rec.FORM_TYPE_ID := :new.FORM_TYPE_ID ;
new_rec.NOL_CARRYBACK_CD := :new.NOL_CARRYBACK_CD ;
new_rec.FARM_COOP_INDC := :new.FARM_COOP_INDC ;
new_rec.ADD_DT := :new.ADD_DT ;
new_rec.ADD_ID := :new.ADD_ID ;
new_rec.UPD_DT := :new.UPD_DT ;
new_rec.UPD_ID := :new.UPD_ID ;
new_rec.VENDOR_CD := :new.VENDOR_CD ;
new_rec.RPTD_HLTHINSASN_CR_AMT := :new.RPTD_HLTHINSASN_CR_AMT ;
new_rec.CALC_HLTHINSASN_CR_AMT := :new.CALC_HLTHINSASN_CR_AMT ;
new_rec.RPTD_GIT_FINAL_AMT := :new.RPTD_GIT_FINAL_AMT ;
new_rec.CALC_GIT_FINAL_AMT := :new.CALC_GIT_FINAL_AMT ;
new_rec.FISCAL_YR_CD := :new.FISCAL_YR_CD ;
new_rec.RPTD_BONUS_DEPR_AMT := :new.RPTD_BONUS_DEPR_AMT ;
new_rec.CALC_BONUS_DEPR_AMT := :new.CALC_BONUS_DEPR_AMT ;
new_rec.RPTD_PREV_CRYFWD_AMT := :new.RPTD_PREV_CRYFWD_AMT ;
new_rec.CALC_PREV_CRYFWD_AMT := :new.CALC_PREV_CRYFWD_AMT ;
new_rec.RPTD_DOM_PROD_DED_AMT := :new.RPTD_DOM_PROD_DED_AMT ;
new_rec.CALC_DOM_PROD_DED_AMT := :new.CALC_DOM_PROD_DED_AMT ;
new_rec.RPTD_XS_IRC_DED_AMT := :new.RPTD_XS_IRC_DED_AMT ;
new_rec.CALC_XS_IRC_DED_AMT := :new.CALC_XS_IRC_DED_AMT ;
new_rec.RPTD_COAL_CR_AMT := :new.RPTD_COAL_CR_AMT ;
new_rec.CALC_COAL_CR_AMT := :new.CALC_COAL_CR_AMT ;
new_rec.SCHD_M_INDC := :new.SCHD_M_INDC ;
new_rec.INTANG_EXP_INDC := :new.INTANG_EXP_INDC ;
new_rec.RPTD_INTANGEXP_ADJ_AMT := :new.RPTD_INTANGEXP_ADJ_AMT ;
new_rec.CALC_INTANGEXP_ADJ_AMT := :new.CALC_INTANGEXP_ADJ_AMT ;
new_rec.AGIT_CONSOL_INDC := :new.AGIT_CONSOL_INDC ;
new_rec.INCRP_DT := :new.INCRP_DT ;
new_rec.INCRP_STATE_CD := :new.INCRP_STATE_CD ;
new_rec.COMMERCIAL_ST_CD := :new.COMMERCIAL_ST_CD ;
new_rec.INIT_IN_RTN_YR := :new.INIT_IN_RTN_YR ;
new_rec.REC_LOC_ADDR := :new.REC_LOC_ADDR ;
new_rec.EST_TAX_OTH_FID_INDC := :new.EST_TAX_OTH_FID_INDC ;
new_rec.FED_1120_CONSOL_INDC := :new.FED_1120_CONSOL_INDC ;
new_rec.UNTRY_MTRL_CHG_INDC := :new.UNTRY_MTRL_CHG_INDC ;
new_rec.FED_ELEC_CONF_NBRV := :new.FED_ELEC_CONF_NBRV ;
new_rec.RTN_SRC_CD := :new.RTN_SRC_CD ;
new_rec.BANKRPT_INDC := :new.BANKRPT_INDC ;
new_rec.FIT_FILER_INDC := :new.FIT_FILER_INDC ;
new_rec.NAME_CHG_INDC := :new.NAME_CHG_INDC ;
new_rec.REMIC_INDC := :new.REMIC_INDC ;
new_rec.INPUT_SRC_METH_CD := :new.INPUT_SRC_METH_CD ;
new_rec.ANNULZN_INDC := :new.ANNULZN_INDC ;
new_rec.RPTD_REIT_DIV_DED_AMT := :new.RPTD_REIT_DIV_DED_AMT ;
new_rec.CALC_REIT_DIV_DED_AMT := :new.CALC_REIT_DIV_DED_AMT ;
new_rec.RPTD_PAT_INCM_AMT := :new.RPTD_PAT_INCM_AMT ;
new_rec.CALC_PAT_INCM_AMT := :new.CALC_PAT_INCM_AMT ;
new_rec.RPTD_MDA_PROD_CR_AMT := :new.RPTD_MDA_PROD_CR_AMT ;
new_rec.CALC_MDA_PROD_CR_AMT := :new.CALC_MDA_PROD_CR_AMT ;
IF inserting THEN
v_change_type := 'INSERT';
ELSIF updating THEN
v_change_type := 'UPDATE';
ELSIF deleting THEN
v_change_type := 'DELETE';
END IF;
--call to do base table insert, update or delete
RSDGP004.bus_ta_form_97A(in_event_user => user,
in_event_source => v_event_source,
in_change_type => v_change_type,
in_old_rec => old_rec,
in_new_rec => new_rec);
-- call to build xml for rti_table_audits and queues --xdbaud
RSDGP001.bus_ta_form_97A(in_event_user => user,
in_event_source => v_event_source,
in_change_type => v_change_type,
in_old_rec => old_rec,
in_new_rec => new_rec);
END;}
Edited by: SDL on Feb 17, 2009 4:54 AM
Edited by: SDL on Feb 17, 2009 5:09 AM
Edited by: SDL on Feb 17, 2009 5:14 AM
Here is the insert code that is in the package RSDGP004 that does the insert into the base table for the view.
I think maybe this is what you meant, when you asked for the code that does the insert?
{ELSIF in_change_type = 'INSERT' THEN
levent := 'INSERT';
INSERT INTO rti_bus_ta_forms(
add_dt
, add_id
, tran_id
, doc_loc_nbr
, field_009_amt
, field_01_txt
, field_010_amt
, field_015_amt
, field_016_amt
, field_02_txt
, field_029_amt
, field_03_txt
, field_030_amt
, field_039_amt
, field_04_txt
, field_040_amt
, field_041_amt
, field_042_amt
, field_05_txt
, field_053_amt
, field_054_amt
, field_06_txt
, field_063_amt
, field_064_amt
, field_067_amt
, field_068_amt
, field_07_txt
, field_079_amt
, field_08_txt
, field_080_amt
, field_085_amt
, field_086_amt
, field_09_txt
, field_091_amt
, field_092_amt
, field_095_amt
, field_096_amt
, field_10_txt
, field_101_amt
, field_102_amt
, field_103_amt
, field_104_amt
, field_105_amt
, field_106_amt
, field_11_txt
, field_111_amt
, field_112_amt
, field_12_txt
, field_125_amt
, field_126_amt
, field_127_amt
, field_128_amt
, field_13_txt
, field_131_amt
, field_132_amt
, field_137_amt
, field_138_amt
, field_139_amt
, field_14_txt
, field_140_amt
, field_141_amt
, field_142_amt
, field_143_amt
, field_144_amt
, field_147_amt
, field_148_amt
, field_149_amt
, field_15_txt
, field_150_amt
, field_151_amt
, field_152_amt
, field_153_amt
, field_154_amt
, field_16_txt
, field_165_amt
, field_166_amt
, field_167_amt
, field_168_amt
, field_169_amt
, field_170_amt
, field_171_amt
, field_172_amt
, field_181_amt
, field_182_amt
, field_175_amt
, field_176_amt
, field_177_amt
, field_178_amt
, field_179_amt
, field_180_amt
, field_193_amt
, field_194_amt
, field_195_amt
, field_196_amt
, field_197_amt
, field_198_amt
, field_199_amt
, per_begin_dt
, per_end_dt
, form_dt
, form_type_id
, field_31_txt
, field_201_amt
, upd_dt
, upd_id
, field_27_txt
, field_006_amt
, field_007_amt
, field_008_amt
, field_005_amt
, field_21_txt
, field_22_txt
, field_23_txt
, field_020_amt
, field_021_amt
, field_022_amt
, field_023_amt
, field_024_amt
, field_025_amt
, field_026_amt
, field_027_amt
, field_028_amt
, field_031_amt
, field_183_amt
, field_184_amt
, field_034_amt
, field_035_amt
, field_036_amt
, field_191_amt
, field_192_amt
, field_188_amt
, field_189_amt
, field_17_txt
, field_18_txt
, field_33_txt
, field_19_txt
, field_39_txt
, field_20_txt
, field_185_amt
, field_186_amt
, field_24_txt )
VALUES(
in_new_rec.ADD_DT,
in_new_rec.ADD_ID,
in_new_rec.TRAN_ID,
in_new_rec.DOC_LOC_NBR,
in_new_rec.RPTD_BAL_DUE_AMT,
in_new_rec.EXT_ATT_INDC,
in_new_rec.CALC_BAL_DUE_AMT,
in_new_rec.RPTD_REL_TAX_AMT,
in_new_rec.CALC_REL_TAX_AMT,
in_new_rec.EXT_FILED_INDC,
in_new_rec.RPTD_EST_PMT_AMT,
in_new_rec.PPIS_CTRY_CD,
in_new_rec.CALC_EST_PMT_AMT,
in_new_rec.RPTD_HRAMT_AMT,
in_new_rec.PPIS_ST_3_ADDR,
in_new_rec.CALC_HRAMT_AMT,
in_new_rec.RPTD_CMBTX_AMT,
in_new_rec.CALC_CMBTX_AMT,
in_new_rec.INTERNAL_ID,
in_new_rec.RPTD_LTOT_AMT,
in_new_rec.CALC_LTOT_AMT,
in_new_rec.PPIS_ID,
in_new_rec.RPTD_INT_DUE_AMT,
in_new_rec.CALC_INT_DUE_AMT,
in_new_rec.RPTD_LATE_PEN_AMT,
in_new_rec.CALC_LATE_PEN_AMT,
in_new_rec.PPIS_ID_TP_CD,
in_new_rec.RPTD_HRNTX_AMT,
in_new_rec.PPIS_NAME,
in_new_rec.CALC_HRNTX_AMT,
in_new_rec.RPTD_OTH_PMT_AMT,
in_new_rec.CALC_OTH_PMT_AMT,
in_new_rec.PPIS_ST_1_ADDR,
in_new_rec.RPTD_OVERPMT_CRED_AMT,
in_new_rec.CALC_OVERPMT_CRED_AMT,
in_new_rec.RPTD_PRIOR_EXT_PMT_AMT,
in_new_rec.CALC_PRIOR_EXT_PMT_AMT,
in_new_rec.PPIS_ST_2_ADDR,
in_new_rec.RPTD_HREPT_AMT,
in_new_rec.CALC_HREPT_AMT,
in_new_rec.RPTD_HRSUB_AMT,
in_new_rec.CALC_HRSUB_AMT,
in_new_rec.RPTD_REFUND_DUE_AMT,
in_new_rec.CALC_REFUND_DUE_AMT,
in_new_rec.PPIS_CTY_ADDR,
in_new_rec.RPTD_RENT_AMT,
in_new_rec.CALC_RENT_AMT,
in_new_rec.PPIS_STATE_CD,
in_new_rec.RPTD_SU_TAX_AMT,
in_new_rec.CALC_SU_TAX_AMT,
in_new_rec.RPTD_HRSJT_AMT,
in_new_rec.CALC_HRSJT_AMT,
in_new_rec.PPIS_ZIP,
in_new_rec.RPTD_SUPP_NI_TAX1_AMT,
in_new_rec.CALC_SUPP_NI_TAX1_AMT,
in_new_rec.RPTD_TAX_DUE_AMT,
in_new_rec.CALC_TAX_DUE_AMT,
in_new_rec.RPTD_TOT_DUE_AMT,
in_new_rec.PPIS_PHN_NMBR,
in_new_rec.CALC_TOT_DUE_AMT,
in_new_rec.RPTD_TOT_OVERPMT_AMT,
in_new_rec.CALC_TOT_OVERPMT_AMT,
in_new_rec.RPTD_TOT_PMT_AMT,
in_new_rec.CALC_TOT_PMT_AMT,
in_new_rec.RPTD_TOT_REL_TAX_AMT,
in_new_rec.CALC_TOT_REL_TAX_AMT,
in_new_rec.RPTD_UNDERPMT_PEN_AMT,
in_new_rec.PPIS_CHK_BOX,
in_new_rec.CALC_UNDERPMT_PEN_AMT,
in_new_rec.RPTD_HTOT_AMT,
in_new_rec.CALC_HTOT_AMT,
in_new_rec.RPTD_HRBAL_AMT,
in_new_rec.CALC_HRBAL_AMT,
in_new_rec.PPIS_CTRY_OLD,
in_new_rec.RPTD_LRNTX_AMT,
in_new_rec.CALC_LRNTX_AMT,
in_new_rec.RPTD_LRBAL_AMT,
in_new_rec.CALC_LRBAL_AMT,
in_new_rec.RPTD_LREPT_AMT,
in_new_rec.CALC_LREPT_AMT,
in_new_rec.RPTD_LRSUB_AMT,
in_new_rec.CALC_LRSUB_AMT,
in_new_rec.RPTD_LRSJT_AMT,
in_new_rec.CALC_LRSJT_AMT,
in_new_rec.RPTD_LRAMT_AMT,
in_new_rec.CALC_LRAMT_AMT,
in_new_rec.RPTD_AGI_TAX_AMT,
in_new_rec.CALC_AGI_TAX_AMT,
in_new_rec.RPTD_TOT_UNREL_TAX_AMT,
in_new_rec.CALC_TOT_UNREL_TAX_AMT,
in_new_rec.RPTD_GI_TAX_AMT,
in_new_rec.CALC_GI_TAX_AMT,
in_new_rec.RPTD_TAX_DUE2_AMT,
in_new_rec.CALC_TAX_DUE2_AMT,
in_new_rec.RPTD_TOT_URL_AMT,
in_new_rec.CALC_TOT_URL_AMT,
in_new_rec.REMIT_AMT,
in_new_rec.PER_BEGIN_DT,
in_new_rec.PER_END_DT,
in_new_rec.FORM_DT,
in_new_rec.FORM_TYPE_ID,
in_new_rec.NOL_CARRYBACK_CD,
in_new_rec.CALC_IN_NOL_AMT,
in_new_rec.UPD_DT,
in_new_rec.UPD_ID,
in_new_rec.VENDOR_CD,
in_new_rec.RPTD_PREV_CRYFWD_AMT,
in_new_rec.CALC_PREV_CRYFWD_AMT,
in_new_rec.RPTD_TOT_CRED_AMT,
in_new_rec.CALC_TOT_CRED_AMT,
in_new_rec.FISCAL_YR_CD,
in_new_rec.INIT_RET_INDC,
in_new_rec.FINAL_RET_INDC,
in_new_rec.RPTD_FED_INCM_AMT,
in_new_rec.CALC_FED_INCM_AMT,
in_new_rec.RPTD_BONUS_DEPR_AMT,
in_new_rec.CALC_BONUS_DEPR_AMT,
in_new_rec.RPTD_SPF_DEDUCT_AMT,
in_new_rec.CALC_SPF_DEDUCT_AMT,
in_new_rec.RPTD_GOVT_INT_AMT,
in_new_rec.CALC_GOVT_INT_AMT,
in_new_rec.RPTD_URL_SUBTOT_AMT,
in_new_rec.CALC_URL_SUBTOT_AMT,
in_new_rec.RPTD_APPORT_PCNT,
in_new_rec.CALC_APPORT_PCNT,
in_new_rec.RPTD_IN_INCM_AMT,
in_new_rec.CALC_IN_INCM_AMT,
in_new_rec.RPTD_IN_NOL_AMT,
in_new_rec.RPTD_TOT_URL_INCM_AMT,
in_new_rec.CALC_TOT_URL_INCM_AMT,
in_new_rec.RPTD_TOT_MOD_AMT,
in_new_rec.CALC_TOT_MOD_AMT,
in_new_rec.SCHD_M_INDC,
in_new_rec.FED_ELEC_CONF_NBRV,
in_new_rec.RTN_SRC_CD,
in_new_rec.BANKRPT_INDC,
in_new_rec.NAME_CHG_INDC,
in_new_rec.INPUT_SRC_METH_CD,
in_new_rec.RPTD_PAT_INCM_AMT,
in_new_rec.CALC_PAT_INCM_AMT,
in_new_rec.ANNULZN_INDC) ;}
Similar Messages
-
ORA-22816 on a Synonym for Remote Table
Hi
I created a synonym for a remote table in the portal schema.
When I tried inserting value into the table, I get this error
Error: An unexpected error occurred: ORA-22816: unsupported feature with RETURNING clause (WWV-16016)
The portal schema is in a 9i database and the remote table in a 8i database
Thanks
SatishTry creating a form on this synonym. You should be able to do the table insert through the form.
However, you should make sure that the DB link is a public db link. -
Returning clause in MERGE statement
Hi ,
I'm using Oracle 10g Version
I tried the below code using UPDATE with Returning Clause & MERGE with Returning Clause .
I found NO errors while working with UPDATE statement . The following is the code with UPDATE statement
DECLARE
TYPE empno_list IS TABLE OF emp.empno%TYPE;
vempno_list empno_list;
BEGIN
UPDATE emp
SET comm = 11
WHERE deptno IN (SELECT deptno FROM dept)
RETURNING empno
BULK COLLECT INTO vempno_list;
FOR i IN vempno_list.FIRST .. vempno_list.LAST
LOOP
DBMS_OUTPUT.put_line ('Values of EMP ' || vempno_list (i));
END LOOP;
END;
But getting the error PL/SQL: ORA-00933: SQL command not properly ended when working with MERGE Statement
declare
type empno_list is table of emp.empno%type;
vempno_list empno_list;
begin
merge into emp tgt
using dept src
on (src.deptno =tgt.deptno)
when matched then
update set tgt.comm=12
returning tgt.empno bulk collect into vempno_list ;
for i in vempno_list.first .. vempno_list.last loop
dbms_output.put_line('Values of EMP '||vempno_list(i) ) ;
end loop;
end;
Please suggest meProbably because the RETURNING INTO clause doesn't belong to MERGE statement. It's available only for INSERT, UPDATE and DELETE. Here is the quote from Oracle Documentation:
The static RETURNING INTO clause belongs to a DELETE, INSERT, or UPDATE statement. The dynamic RETURNING INTO clause belongs to an EXECUTEIMMEDIATE statement.
And here's the link.
RETURNING INTO Clause
Hope it helps.
Ishan -
ORA-32034: unsupported use of WITH clause-issue
hello all,
i am facing some issue when i use with clause and union all operator.
i have created a dummy code to solve this problem..
my code is ----------
with dept_1 as
(select deptno d1 from detp9 where deptno = 20)
select empno from emp9 e,dept_d1 where e.empno = dept_1.d1
UNION ALL
with dept_1 as
(select deptno d2 from detp9 where deptno = 30)
select empno from emp9 e,dept_d2 where e.empno = dept_2.d2.
when i ran this i gort a message-
ORA-32034: unsupported use of WITH clause.
please help me to solve this iisue..
when i ran it separatly without using union/union all it ran sucessfully..
thanks in advance..923315 wrote:
hello all,
i am facing some issue when i use with clause and union all operator.
i have created a dummy code to solve this problem..
my code is ----------
with dept_1 as
(select deptno d1 from detp9 where deptno = 20)
select empno from emp9 e,dept_d1 where e.empno = dept_1.d1
UNION ALL
with dept_1 as
(select deptno d2 from detp9 where deptno = 30)
select empno from emp9 e,dept_d2 where e.empno = dept_2.d2.
when i ran this i gort a message-
ORA-32034: unsupported use of WITH clause.
please help me to solve this iisue..
when i ran it separatly without using union/union all it ran sucessfully..
thanks in advance..Well, i don't see anything about these queries that makes sense.
You are essentially joining emp and dept on EMPNO to DEPTNO ... that doesn't usually make any sense.
How about you step back from the query which is almost certainly incorrect, and explain your tables, their data and what you need as output?
Cheers, -
Blob writing error ORA-29532 Java call terminated Unsupported feature
Hi there,
I've got the following Java code which tries to write to a BLOB file. It's a version of some code to extract files from a zip archive, but with everything but the erroring call stripped out:
create or replace and compile java source named zipunpack as
package org.bristol.cyps;
import oracle.sql.BLOB;
import java.util.zip.*;
public class ZipUnpack
public static int unpack(BLOB ziparray[], String filename, BLOB filearray[])
throws java.sql.SQLException, java.io.IOException
BLOB file = filearray[0];
java.io.OutputStream fileout = file.setBinaryStream(0L);
return 1;
This is published as follows:
create or replace function zip_unpack (
pio_zip in out nocopy blob
, pi_filename in varchar2
, pio_file in out nocopy blob
) return number as language java
name 'org.bristol.cyps.ZipUnpack.unpack(oracle.sql.BLOB[], java.lang.String, oracle.sql.BLOB[]) return java.lang.Integer';
And called like so:
procedure send_zip_file (
pi_zip in out nocopy blob
, pi_filename in varchar2
) is
file blob;
completed integer;
begin
dbms_lob.createtemporary (
lob_loc => file
, cache => false
, dur => dbms_lob.call
completed := zip_unpack(pi_zip, pi_filename, file);
if completed > 0 then
bare_html.print_blob(file);
else
htp.print('File "' || pi_filename || '" not found');
end if;
end;
This, as far as I can tell from the documentation, should work. Unfortunately, though, it generates an error:
ORA-29532: Java call terminated by uncaught Java exception: java.sql.SQLException: Unsupported feature
The particular line which is causing the error is the "java.io.OutputStream fileout = file.setBinaryStream(0L);" If I remove this, it runs fine. I'm flumoxed as to why this might be causing an "Unsupported feature" exception when it's documented as being supported. Can anyone shed any light?
Cheers,
Robert
Message was edited for more clarityHi,
It looks like you are not using 10g JDBC. java.sql.Blob.setBinaryStream is a JDBC 3.0 method. In 9iR2 we added support for jdk14 and added stub methods for JDBC 3.0 behavior without fully implementing them. 10gR1 was the first version where the JDBC3.0 methods were fully supported.
The workaround is to use the Oracle proprietary method oracle.sql.BLOB.getBinaryOutputStream
Kuassi, http://db360.blogspot.com -
ORA-22816 with INSERT, UPDATE URGENT!!!!!
=8-)
HI.
I have a big problem.
With a forms, 6.0.4.10, i am connetting with 8.0.5,
during UPDATE or INSERT, in this table ther are 18000 rows,
i recive ORA-22816.
The parameter DML Returning Value , is setting NO.
Now, next week i'll install this system, and i have a
big problem ....
PLEASE HELP ME !!!!!!!!!!!
Luca
nullLuca (guest) wrote:
: =8-)
: HI.
: I have a big problem.
: With a forms, 6.0.4.10, i am connetting with 8.0.5,
: during UPDATE or INSERT, in this table ther are 18000 rows,
: i recive ORA-22816.
: The parameter DML Returning Value , is setting NO.
: Now, next week i'll install this system, and i have a
: big problem ....
: PLEASE HELP ME !!!!!!!!!!!
: Luca
I have resolve the problem.
In my table is here a LONG ROW.
But, why the form using returnin in a table with LONG.
null -
JDBC ADPATER - "Unsupported feature" in XI with CLOB type
Hi experts,
I have 15 patch XI level. In a stored procedure i use an in and out parameter with CLOB type. I get the exception:
com.sap.aii.af.ra.ms.api.DeliveryException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'XXXX'): java.sql.SQLException: Unsupported feature
If i change the type CLOB by VARVHAR in the XI's XML (Design: Integration Buider), all works fine.
The strored procedure has this parameter like CLOB.
My question is
Is not possible to use the CLOB type?
SAP recognize that it, it's possible:
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm
Sorry for my english. Thanks in advance.Hi,
Please make sure you use the 10.x driver for full stored procedure CLOB support.
A CLOB is a not comparable Datatype in SQL.
Regards,
Prateek -
Using RETURNING clause with Execute Immediate
I wrote a query to update a table and return the column in to a nested table type variable using returning clause but its not working I am getting error like
ORA-06550: line 66, column 22:
PLS-00306: wrong number or types of arguments in call to '||'
ORA-06550: line 66, column 4:
PL/SQL: Statement ignored
I am getting error in following part of my query
|| 'RETURNING if_row_status bulk collect INTO '
|| v_if_row_status;
v_if_row_status is defined as -
TYPE v_count IS TABLE OF varchar2(50) INDEX BY BINARY_INTEGER;
v_if_row_status v_count;I am trying to update a table for diffrent column if they are null and want no of column updated for each column.
I wrote following query but I am not getting the correct output.
UPDATE
Temp_Bulk_Col_POC
SET if_row_status = 'VALIDATED',
if_row_processed_date = sysdate,
if_row_error_msg =
CASE
WHEN record_type IS NULL
THEN 'RECORD_TYPE is a required column and cannot be NULL'
WHEN source_system IS NULL
THEN 'SOURCE_SYSTEM is a required column and cannot be NULL'
WHEN record_company IS NULL
THEN 'RECORD_COMPANY is a required column and cannot be NULL'
WHEN record_system IS NULL
THEN 'RECORD_SYSTEM is a required column and cannot be NULL'
WHEN txn_flag IS NULL
THEN 'TXN_FLAG is a required column and cannot be NULL'
WHEN create_date IS NULL
THEN 'CREATE_DATE is a required column and cannot be NULL'
WHEN UPDATE_date IS NULL
THEN 'UPDATE_DATE is a required column and cannot be NULL'
WHEN source_customer_id IS NULL
THEN 'SOURCE_CUSTOMER_ID is a required column and cannot be NULL'
WHEN source_product_id IS NULL
THEN 'SOURCE_PRODUCT_ID is a required column and cannot be NULL'
WHEN az_product_id IS NULL
THEN 'AZ_PRODUCT_ID is a required column and cannot be NULL'
WHEN decile IS NULL
THEN 'DECILE is a required column and cannot be NULL'
END
WHERE if_row_status IS NULL
AND (record_type IS NULL
OR source_system IS NULL
OR record_company IS NULL
OR record_system IS NULL
OR txn_flag IS NULL
OR create_date IS NULL
OR UPDATE_date IS NULL
OR source_customer_id IS NULL
OR source_product_id IS NULL
OR az_product_id IS NULL
OR decile IS NULL)
RETURNING if_row_status,record_type,source_system,record_company,record_system,
txn_flag,create_date,UPDATE_date,source_customer_id,source_product_id,az_product_id,
decile
BULK COLLECT INTO
v_if_row_status,v_record_type,v_source_system,
v_record_company,v_record_system,v_txn_flag,v_create_date,v_UPDATE_date,
v_source_customer_id,v_source_product_id,v_az_product_id,v_decile;
its showing same number for all the column.
how I can collect based on the coulmn updated -
Hi friends,
Is there any way to restrict the values fetched using RETURNING caluse after an UPDATE?
For example, the following RETURNING caluse will fetch the new SALs of the DEPTs 10 and 20:
UPDATE EMP
SET SAL = SAL+100
WHERE DEPT IN (10,20)
RETURNING SAL BULK COLLECT INTO ARRAY_NEW_SAL;
Is it possible to fetch the new SALs of only DEPT 10? Anything like:
UPDATE EMP
SET SAL = SAL+100
WHERE DEPT IN (10,20)
RETURNING SAL BULK COLLECT INTO ARRAY_NEW_SAL WHERE DEPT = 10;
Edited by: 964559 on 30-May-2013 03:41No, you can't.
The returning clause is used to return data from all the effected rows of the update. It's a part of PL/SQL, not SQL, so you cannot apply an SQL WHERE clause to it.
The RETURNING clause and the way you can use it are detailed in the documentation (what a surprise!)...
http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/returninginto_clause.htm#LNPLS01354 -
Error in RETURNING clause in INSERT.....SELECT query
Hi Friends
I am having an error: "SQL stmt not properly ended" when i run the below code.
Cant i fetch multiple values from the returning clause into a collection variable??
insert into consumption__C
(SITECODE, SALESORG, PRODFAM,CAMPCODE, CYEAR, MDATE, SYSENV, MTYPE, ACCOUNT__C, SUPPLIER__C,
PRODUCT_PER_UNIT__C, PRODUCT__C, UNIT__C, AMOUNT_Y__C, VOLUME_Y__C, CURRENCY__C,SUPPLYMODE__C)
select ' ' Sitecode,
' ' Salesorg,
' ' Prodfam,
' ' campcode,
' ' cyear,
pcurr_mig MDATE,
psysenv SYSENV,
'NSet' MTYPE,
c.sitecode Account__c,
' ' supplier__c,
' ' Product_per_unit__c,
c.material Product__c,
' ' unit__c,
c.Amount Amount_y__c,
' ' Volume__c,
'Euro' Currency__c,
' ' Supply_Mode__c
from load_sales_customer_site c returning c.customer_code bulk collect INTO temp;
Kindly guide...... what is the problem!!
Thanks in advancenice idea, but you can't use returning into with
insert as select:
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
SQL> create table exm(id primary key) as select object_id from all_objects
2 where rownum <=100;
Table created.
SQL> declare
2 type num_tbl is table of number;
3 ll_num_tbl num_tbl;
4 begin
5 insert into exm(id)
6 (select object_id * 100 from all_objects where rownum
7 <=100) returning id into ll_num_tbl;
8 end;
9 /
<=100) returning id into ll_num_tbl;
ERROR at line 7:
ORA-06550: line 7, column 9:
PL/SQL: ORA-00933: SQL command not properly ended
ORA-06550: line 5, column 2:
PL/SQL: SQL Statement ignoredAmiel -
Export (expdp) with where clause
Hello Gurus,
I am trying to export with where clause. I am getting below error.
Here is my export command.
expdp "'/ as sysdba'" tables = USER1.TABLE1 directory=DATA_PUMP dumpfile=TABLE1.dmp logfile=TABLE1.log query= “USER1.TABLE1:where auditdate>'01-JAN-10'” Here is error
[keeth]DB1 /oracle/data_15/db1> DATA_PUMP dumpfile=TABLE1.dmp logfile=TABLE1.log query= USER1.TABLE1:where auditdate>'01-JAN-10' <
Export: Release 11.2.0.3.0 - Production on Tue Mar 26 03:03:26 2013
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYS"."SYS_EXPORT_TABLE_03": "/******** AS SYSDBA" tables=USER1.TABLE1 directory=DATA_PUMP dumpfile=TABLE1.dmp logfile=TABLE1.log query= USER1.TABLE1:where auditdate
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 386 MB
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/TRIGGER
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
ORA-31693: Table data object "USER1"."TABLE1" failed to load/unload and is being skipped due to error:
ORA-00933: SQL command not properly ended
Master table "SYS"."SYS_EXPORT_TABLE_03" successfully loaded/unloaded
Dump file set for SYS.SYS_EXPORT_TABLE_03 is:
/oracle/data_15/db1/TABLE1.dmp
Job "SYS"."SYS_EXPORT_TABLE_03" completed with 1 error(s) at 03:03:58Version
SQL> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - ProductionHello,
You should use parameter file.Another question i can see you are using 11g.Why don't you use data pump?.
Data Pump is faster and have more features and enhancement than regular imp and exp.
You can do the following:
sqlplus / as sysdba
Create directory DPUMP_DIR3 for 'Type here your os path that you want to export to';then touch a file:
touch par.txt
In this file type the following the following :
tables=schema.table_name
dumpfile=yourdump.dmp
DIRECTORY=DPUMP_DIR3
logfile=Your_logfile.log
QUERY =abs.texp:"where hiredate>'01-JAN-13' "then do the following
expdp username/password parfile='par.txt'
If you will import from Oracle 11g to version 10g then you have to addthe parameter "version=10" to the parameter file above
BR
Mohamed ELAzab
http://mohamedelazab.blogspot.com/ -
Hi All,
I was trying to use RETURNING CLAUSE into pl/sql process but it gives error as :-
"1 error has occurred
* ORA-06550: line 12, column 13: PL/SQL: ORA-00933: SQL command not properly ended ORA-06550: line 6, column 3: PL/SQL: SQL Statement ignored"
Pl/sql process contains code as below:-
DECLARE
vID VARCHAR2(20);
BEGIN
INSERT INTO STUDENT_INFORMATION (DOB, AGE, OTHER_DATE, OTHER_AGE)
SELECT TO_DATE(C1_C002, 'MM/DD/YYYY'), C1_C003, TO_DATE(C1_C004, 'MM/DD/YYYY'), C1_C005
FROM (SELECT C1.C002 C1_C002, C1.C003 C1_C003, C1.C004 C1_C004, C1.C005 C1_C005
FROM APEX_COLLECTIONS C1
WHERE C1.COLLECTION_NAME = 'INFORMATION'
AND C1.SEQ_ID = 1)
RETURNING ID INTO vID; // IF I REMOVE THIS LINE & AND THIS INSERT STATEMENT WITH SEMICOLON(;) IN THE ABOVE LINE THE CODE WORKS FINE
// BUT THAN THE I'M GETTING ERROR WITH THE NEXT INSERT STATEMENT
INSERT INTO STUDENT_INFORMATION_GRADE (ID, GRADE_DATE, GRADE_AGE)
SELECT vID, TO_DATE(C2_C002, 'MM/DD/YYYY'), C2_C003
FROM (SELECT C2.C002 C2_C002, C2.C003 C2_C003
FROM APEX_COLLECTIONS C2, APEX_COLLECTIONS C1
WHERE C2.COLLECTION_NAME = 'GRADE'
AND C1.COLLECTION_NAME = 'INFORMATION'
AND C1.SEQ_ID = C2.SEQ_ID
AND C1.SEQ_ID = 1);
INSERT INTO STUDENT_INFORMATION_RESULT (ID, FINAL_RESULT)
SELECT vID, C3_C002
FROM (SELECT C3.C002 C3_C002
FROM APEX_COLLECTIONS C3, APEX_COLLECTIONS C1
WHERE C3.COLLECTION_NAME = 'RESULT'
AND C1.COLLECTION_NAME = 'INFORMATION'
AND C1.SEQ_ID = C3.SEQ_ID
AND C1.SEQ_ID = 1);
END;
I have trying RETURNING CLAUSE with other pl/sql process something like this :-
DECLARE
vID VARCHAR2(20;
BEGIN
INSERT INTO ..... ()
VALUES ()
RETURNING ID INTO vID;
INSERT INTO ... (ID, ....)
VALUES (vID, ..........)
END;
the above code works well with no errors, but when I'm using RETURNING CLAUSE with COLLECTIONS it gives me error.
Can anybody help me out?
Thanks
DeepDeep:
You can perform the inserts in a cursor loop as followsfor x in (SELECT C1.C002 C1_C002, C1.C003 C1_C003, C1.C004 C1_C004, C1.C005 C1_C005
FROM APEX_COLLECTIONS C1
WHERE C1.COLLECTION_NAME = 'INFORMATION'
AND C1.SEQ_ID = 1)
loop
INSERT INTO STUDENT_INFORMATION (DOB, AGE, OTHER_DATE, OTHER_AGE)
values ( TO_DATE(x.C1_C002, 'MM/DD/YYYY'),x.C1_C003, TO_DATE(x.C1_C004, 'MM/DD/YYYY'),x.C1_C005)
RETURNING ID INTO vID;
end loop;Varad -
I will include the query below my question as it is very long.
I am using Microsoft SQL Server Reporting Services to connect to an Oracle Database (9i v 2). When I put in the query below I get the following error coming from the Oracle Server -
"TITLE: Microsoft Report Designer
An error occurred while executing the query.
ORA-32036: unsupported case for inlining of query name in WITH clause"
I found an explanation for this error - " There is at least one query name which is inlined more than once because it's definition query is too simple and references another query name. This is currently unsupported yet." - and taking out the sub-queries one by one it seems to be COMBINE_TWO sub-query that causes the issue. Apparently it doesn't like the Select * from BLAHBLAH and finds it to be unecessary. I have made this query using nested selects - but the code gets redundant and I end up having to use the same query two or three times....the whole statement takes far too long to execute.
Any coding suggestions or workaround suggestions would be appreciated - I have been looking at this problem so long that I have tunnel vision. There has to be a fix or a better way...
Thanks!
Brett
Here is the query....
WITH
/*This query finds all pending WO's and caculates all changing service
levels for limited, basic, internet and phone. Any values that do not
change are kept at null, any services being disconnected are dropped to a negative
and service being upgrades and/or downgraded but still kept are valued
at their to_quantity value. */
STEP_1 AS
SELECT
WO.ACCOUNT_NUMBER,
WO.WORK_ORDER_NUMBER,
WO.WO_TYPE,
WOD.SERVICE_CODE,
CASE WHEN WOD.SERVICE_CODE = '101' AND WOD.FROM_QUANTITY != WOD.TO_QUANTITY THEN WOD.TO_QUANTITY - WOD.FROM_QUANTITY ELSE NULL END LIM,
CASE WHEN WOD.SERVICE_CODE = '111' AND WOD.FROM_QUANTITY != WOD.TO_QUANTITY THEN WOD.TO_QUANTITY - WOD.FROM_QUANTITY ELSE NULL END EXP,
CASE WHEN WOD.SERVICE_CODE = '30001' AND WOD.FROM_QUANTITY != WOD.TO_QUANTITY THEN WOD.TO_QUANTITY - WOD.FROM_QUANTITY ELSE NULL END HSI,
CASE WHEN WOD.SERVICE_CODE IN ('LINE FL', 'ULTS FL') AND WOD.FROM_QUANTITY != WOD.TO_QUANTITY THEN WOD.TO_QUANTITY - WOD.FROM_QUANTITY ELSE NULL END PHONE
FROM
KAN_WORK_ORDER_MASTER WO INNER JOIN KAN_WORK_ORDER_DETAIL WOD ON WO.WORK_ORDER_NUMBER = WOD.WORK_ORDER_NUMBER
WHERE
WO.WO_TYPE IN ('DI', 'DW', 'IN', 'SR', 'UP')
AND WOD.SERVICE_CODE IN ('101', '111', '30001', 'LINE FL', 'ULTS FL')
AND POOL = 'A'
AND WO_STATUS = ' '),
/* This adds all values from step 1 and condenses all work orders
into one row, a value for each service. */
STEP_2 AS
SELECT
ACCOUNT_NUMBER,
WORK_ORDER_NUMBER,
WO_TYPE,
SUM(LIM) LIM,
SUM(EXP) EXP,
SUM(HSI) HSI,
SUM(PHONE) PHONE
FROM
STEP_1
GROUP BY
ACCOUNT_NUMBER,
WORK_ORDER_NUMBER,
WO_TYPE
ORDER BY
ACCOUNT_NUMBER),
/* This query takes the results from Step 2 and then looks at all service
levels that were not included or changed in the work order detail file
and makes sure that unchanged services are included in the final total.
FOR EXAMPLE : Coming from step 2, if LIM is NULL we know that no changes
were done to LIM in the work order - so, if the customer has Limited then
the service quantity is added to the total. Else - if LIM is not null, then
we know the service level was effected by the work order - so do not
include the quantity from the services file because it will be innacurate
once the work order is complete*/
STEP_3 AS
SELECT
WO.ACCOUNT_NUMBER,
WO.WORK_ORDER_NUMBER,
WO.WO_TYPE,
CASE WHEN LIM IS NULL AND CS.SERVICE_CODE = '101' THEN (CS.SERVICE_QUANTITY + CS.SERVICE_QUANTITY_TO_FREE) ELSE NULL END LIM,
CASE WHEN EXP IS NULL AND CS.SERVICE_CODE = '111' THEN (CS.SERVICE_QUANTITY + CS.SERVICE_QUANTITY_TO_FREE) ELSE NULL END EXP,
CASE WHEN HSI IS NULL AND CS.SERVICE_CODE = '30001' THEN (CS.SERVICE_QUANTITY + CS.SERVICE_QUANTITY_TO_FREE) ELSE NULL END HSI,
CASE WHEN PHONE IS NULL AND CS.SERVICE_CODE IN ('LINE FL', 'ULTS FL') THEN (CS.SERVICE_QUANTITY + CS.SERVICE_QUANTITY_TO_FREE) ELSE NULL END PHONE
FROM
STEP_2 WO INNER JOIN KAN_CUSTOMER_SERVICES CS ON WO.ACCOUNT_NUMBER = CS.ACCOUNT_NUMBER
WHERE
CS.SERVICE_CODE IN ('101', '111', '30001', 'LINE FL', 'ULTS FL')
AND CS.SERVICE_STATUS = 'A'),
/* This step calculated the current service level. */
STEP_4 AS
SELECT
ACCOUNT_NUMBER,
WORK_ORDER_NUMBER,
WO_TYPE,
SUM(LIM) LIM,
SUM(EXP) EXP,
SUM(HSI) HSI,
SUM(PHONE) PHONE
FROM
STEP_3
GROUP BY
ACCOUNT_NUMBER,
WORK_ORDER_NUMBER,
WO_TYPE
COMBINE_TWO AS
SELECT
FROM
STEP_2
UNION ALL
SELECT
FROM
STEP_4
SELECT
WOM.SCHEDULE_DATE,
COMBINE_TWO.ACCOUNT_NUMBER,
COMBINE_TWO.WORK_ORDER_NUMBER,
COMBINE_TWO.WO_TYPE,
HM.ADDRESS_LINE_1,
HM.ADDRESS_LINE_2,
HM.ADDRESS_LINE_3,
HM.ADDRESS_LINE_4,
SUM(LIM) LIM,
SUM(EXP) EXP,
SUM(HSI) HSI,
SUM(PHONE) PHONE
FROM
COMBINE_TWO
INNER JOIN KAN_CUSTOMER_MASTER CM ON COMBINE_TWO.ACCOUNT_NUMBER = CM.ACCOUNT_NUMBER
INNER JOIN KAN_HOUSE_MASTER HM ON CM.HOUSE_NUMBER = HM.HOUSE_NUMBER
INNER JOIN KAN_WORK_ORDER_MASTER WOM ON COMBINE_TWO.WORK_ORDER_NUMBER = WOM.WORK_ORDER_NUMBER
GROUP BY
WOM.SCHEDULE_DATE,
COMBINE_TWO.ACCOUNT_NUMBER,
COMBINE_TWO.WORK_ORDER_NUMBER,
COMBINE_TWO.WO_TYPE,
HM.ADDRESS_LINE_1,
HM.ADDRESS_LINE_2,
HM.ADDRESS_LINE_3,
HM.ADDRESS_LINE_4
HAVING
SUM(LIM) <= 0
AND SUM(EXP) <= 0
AND
SUM(HSI) >= 1
OR SUM(PHONE) >= 1
ORDER BY
ACCOUNT_NUMBERGREAT job posting and formatting the query. Also helpful was your really good documentation in the query.
You seem to be approaching your problem in the right way. You are pushing the limits of sql is capable of doing.
Here are some ideas that you can consider and probably discard; I don't have any good ones but maybe these can encourage you or someone else to think of something better. Sometimes you have to consider and discard bad ideas before getting to the good ones - its part of the process.
The query is complex enough - how many steps, with unions and subqueries galore - maybe a deconstructed pipelined function would be easier.
Views aren't usually an answer to problems like this, and more often than not cause other problems later when somebody tries to join to them.
Deconstructing the query and putting the incremental step data into global temporary tables might work, with a query at the end to read the final result set. -
ORA-29983: Unsupported query for Continuous Query Notification
Hi, i'm having a LOV with auto refresh. If i add "Order by " to the LOV query , the following exception is thrown.
SQL error during statement preparation. Statement: SELECT * FROM (SELECT DISTINCT XXXX FROM YYYY) QRSLT ORDER BY "XXXX"
Error ORA-29983: Unsupported query for Continuous Query Notification
I tried to override the create method of the VO, with "this.setNestedSelectForFullSql(false);" .. But this one disables the auto referesh property...
Could some one help to solve this. Thanks .Hi, i looked into the ADF run-time source code and i can see that , the connection object " OracleDatabaseChangeListenerWrapper" class setting the mode as "BEST_EFFORT".
I would assume , by default adf run-time using the best effort mode , not the guaranteed mode.
The data base doc also says in best effort mode "order by" clause as well as key word "like" can be used for continuous query notification. But still i'm getting "ORA-29983".
Could some one clarify me. Thanks . -
PL/SQL: ORA-03001: unimplemented feature
hi i am just trying to understand the bulk binding feature of oracle
this is the test code that i am trying
set serveroutput on
set timing on
declare
src_obj src;
begin
SELECT srcip BULK COLLECT INTO src_obj
FROM rawcdr ;
insert into rawcdr1(srcip) values src_obj;
end;
i am using oracle 10 g std edition
and i get this error
insert into rawcdr1(srcip) values src_obj;
ERROR at line 6:
ORA-06550: line 6, column 25:
PL/SQL: ORA-03001: unimplemented feature
ORA-06550: line 6, column 5:
PL/SQL: SQL Statement ignored
is it something related to the db version
or i m misin on basics
please helphey thanks william
it does work but why was it giving unimplemented feature before
SRC by the way is table type .
now i want to perform some string function on the returned data
what i tried was
SELECT srcip BULK COLLECT INTO src_obj
FROM rawcdr
WHERE srcip='220.227.46.130';
FORALL i IN src_obj.FIRST..src_obj.LAST
if (instr(src_obj(i),'00')=5) then
INSERT INTO rawcdr1 (srcip) VALUES (src_obj(i));
end if;
i get this error
if (instr(src_obj(i),'00')=5) then
ERROR at line 7:
ORA-06550: line 7, column 6:
PLS-00103: Encountered the symbol "IF" when expecting one of the following:
. ( * @ % & - + / at mod remainder rem select update with
<an exponent (**)> delete insert || execute multiset save
merge
ORA-06550: line 11, column 0:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
end not pragma final instantiable order overriding static
member constructor map
Elapsed: 00:00:00.03
is it not possible to use the string function in this context
please help whats the right way to do the same
Maybe you are looking for
-
No internet access after Snow upgrade
Was very upset yesterday after upgrading my 13" Macbook Pro to Snow Leopard only to find out I couldn't get online via ethernet or Airport. Went through all kinds of troubleshooting and just got off a 90 minute long convo with an Apple phone genius.
-
I need help from Customer Support. Whatever this charge is on my credit card,
He recibido un cargo de su tienda, que curiosamente he visto que se han hecho muchos cargos a diferentes personas bajo el mismo copncepto y tienda.Favor acreditarme dicho monto porque no he comprado nada con ustedes y ni tengo idea donde está Mineso
-
Hi, my question is about design. At the left side, the server and the ACE vlan interfaces are directly connected to the same vlan. VIP traffic flow is green, server management is brown. The problem is, that with this design i'm restricted to one se
-
I get this error message when I try to open my google calendar:
We've detected a problem with your cookie settings. Enable cookies Make sure your cookies are enabled. To enable cookies, follow these browser-specific instructions. Clear cache and cookies If you have cookies enabled but are still having trouble, cl
-
Comment installer ADOBE Photoshop 6.0 sur MAC
comment installer ADOBE PHOTOSHOP 6.0 sur mon MAC ? Merci André