JBDC Receiver Insert Statement Response
Hi,
I would like to use the JDBC Receiver adapter in a synchronous szenario where I insert rows in a table. Does the adapter return a response e.g. the number of inserted rows?
Kind regards,
Heiko
Hi,
Yes, you can do this.
Use a BPM and have a SEND synchronous step that is asscoaiated with the RECEIVER JDBC adapter.
Now, the Response will be returned stating the Number of Insertions as INSERT_COUNT.
For every STATEMENT tag, there will be an INSERT_COUNT in the response. So, if you need to calculate the total number of insertions / updations just use a count function from the response.
Take a look at this link,
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm">Document Formats for Receiver JDBC adapter</a>
<a href="/people/siva.maranani/blog/2005/09/16/xi-how-to-on-jdbc-receiver-response">JDBC Response HOW TO</a>
Regards,
Bhavesh
Similar Messages
-
Query returning different number of rows standalone vs insert statement
Hi,
We are using Oracle 10g. We are facing a issue where a SELECT inserts 26294 rows when used with a insert statement. The same select (cut-and-paste) when executed standalone, returns only 60 rows. Any idea what could be causing this?
Thanks in advance,
Hari Narayanan
TIAA-CREF
See details below,
SQL> INSERT INTO cref.position_recon_breaks (
2 effective_date,
3 fund_entity_id,
4 security_alias,
5 accounting_system,
6 pace_shares,
7 accounting_sys_shares,
8 accounting_sys_unp_trd_shares
9 )
10 SELECT pr.effective_date,
11 pr.ENTITY_ID,
12 pr.SECURITY_ALIAS,
13 'MELLON',
14 CREF_SHARES PACE_SHARES,
15 CORP_SHARES ACCOUNTING_SYS_SHARES,
16 CORP_UNP_TRD_SHARES ACCOUNTING_SYS_UNP_TRD_SHARES
17 FROM cref.MELLON_POSITION_RECON pr
18 WHERE ABS(SHARES_DIFFERENCE) >= 1;
25294 rows created.
SQL> select count(*) from
2 (SELECT pr.effective_date,
3 pr.ENTITY_ID,
4 pr.SECURITY_ALIAS,
5 'MELLON',
6 CREF_SHARES PACE_SHARES,
7 CORP_SHARES ACCOUNTING_SYS_SHARES,
8 CORP_UNP_TRD_SHARES ACCOUNTING_SYS_UNP_TRD_SHARES
9 FROM cref.MELLON_POSITION_RECON pr
10 WHERE ABS(SHARES_DIFFERENCE) >= 1);
COUNT(*)
60charred/jzhang,
Thanks for your responses. Just as an additional info, MELLON_POSITION_RECON is one hell of a view - not written by me :) - with unions and inline queries.
If it would be of any help, here is the script,
CREATE OR REPLACE FORCE VIEW CREF.MELLON_POSITION_RECON
(EFFECTIVE_DATE, FUND_CODE, ENTITY_ID, ENTITY_NAME, SECURITY_ALIAS,
SECURITY_NAME, PRIMARY_ASSET_ID, CREF_SECURITY_COUNT, CORP_SECURITY_COUNT, CREF_CURRENCY_CODE,
CORP_CURRENCY_CODE, CREF_EXCHANGE_RATE, CORP_EXCHANGE_RATE, CREF_SHARES, CORP_SHARES,
CREF_PRICE_LOCAL, CORP_PRICE_LOCAL, CREF_MARKET_VALUE_USD, CORP_MARKET_VALUE_USD, CREF_MARKET_VALUE_LOCAL,
CORP_MARKET_VALUE_LOCAL, CREF_ACCRUED_INCOME_USD, CORP_ACCRUED_INCOME_USD, CORP_UNP_TRD_MARKET_VALUE, CORP_UNP_TRD_SHARES,
SHARES_DIFFERENCE, SHARES_DIFF_INCL_UNP, LOCAL_PRICE_DIFFERENCE, MKT_VALUE_USD_DIFF, MKT_VALUE_USD_DIFF_INCL_UNP,
ACCRUED_INCOME_DIFF)
AS
SELECT /*+ ORDERED */
P.EFFECTIVE_DATE
,E.CODE FUND_CODE
,P.ENTITY_ID
,E.LONG_NAME ENTITY_NAME
,P.SECURITY_ALIAS
,S.ISSUE_NAME SECURITY_NAME
,S.PRIMARY_ASSET_ID
,P.CREF_SECURITY_COUNT
,P.CORP_SECURITY_COUNT CORP_SECURITY_COUNT
,P.CREF_CURRENCY_CODE
,P.CORP_CURRENCY_CODE CORP_CURRENCY_CODE
,P.CREF_EXCHANGE_RATE
,P.CORP_EXCHANGE_RATE CORP_EXCHANGE_RATE
,P.CREF_SHARES
,P.CORP_SHARES CORP_SHARES
,P.CREF_PRICE_LOCAL
,P.CORP_PRICE_LOCAL CORP_PRICE_LOCAL
,ROUND(P.CREF_MARKET_VALUE_USD,2) CREF_MARKET_VALUE_USD
,P.CORP_MARKET_VALUE_USD CORP_MARKET_VALUE_USD
,ROUND(P.CREF_MARKET_VALUE_LOCAL,2) CREF_MARKET_VALUE_LOCAL
,P.CORP_MARKET_VALUE_LOCAL CORP_MARKET_VALUE_LOCAL
,ROUND(P.CREF_ACCRUED_INCOME_USD,2) CREF_ACCRUED_INCOME_USD
,P.CORP_ACCRUED_INCOME_USD
,P.CORP_UNP_TRD_MARKET_VALUE
,P.CORP_UNP_TRD_SHARES
,NVL(P.CORP_SHARES, 0) - NVL(P.CREF_SHARES, 0) SHARES_DIFFERENCE
,NVL(P.CORP_SHARES,0) +
(NVL(P.CORP_UNP_TRD_SHARES, 0) - NVL(P.CREF_SHARES, 0)) SHARES_DIFF_INCL_UNP
,NVL(P.CREF_PRICE_LOCAL, 0) - NVL(P.CORP_PRICE_LOCAL, 0) LOCAL_PRICE_DIFFERENCE
,NVL(ROUND(P.CREF_MARKET_VALUE_USD,2),0) - NVL(P.CORP_MARKET_VALUE_USD,0) MKT_VALUE_USD_DIFF
,NVL(ROUND(P.CREF_MARKET_VALUE_USD,2),0) -
(NVL(P.CORP_MARKET_VALUE_USD, 0) + NVL(P.CORP_UNP_TRD_MARKET_VALUE,0)) MKT_VALUE_USD_DIFF_INCL_UNP
,NVL(ROUND(P.CREF_ACCRUED_INCOME_USD,2),0) - NVL(P.CORP_ACCRUED_INCOME_USD, 0) ACCRUED_INCOME_DIFF
FROM
SELECT ENTITY_ID
,EFFECTIVE_DATE
,SECURITY_ALIAS
,SUM(CREF_SECURITY_COUNT) CREF_SECURITY_COUNT
,SUM(CORP_SECURITY_COUNT) CORP_SECURITY_COUNT
,MAX(CREF_CURRENCY_CODE) CREF_CURRENCY_CODE
,MAX(CORP_CURRENCY_CODE) CORP_CURRENCY_CODE
,MAX(CREF_EXCHANGE_RATE) CREF_EXCHANGE_RATE
,MAX(CORP_EXCHANGE_RATE) CORP_EXCHANGE_RATE
,SUM(CREF_SHARES) CREF_SHARES
,SUM(CORP_SHARES) CORP_SHARES
,MAX(CREF_PRICE_LOCAL) CREF_PRICE_LOCAL
,MAX(CORP_PRICE_LOCAL) CORP_PRICE_LOCAL
,SUM(CREF_MARKET_VALUE_USD) CREF_MARKET_VALUE_USD
,SUM(CORP_MARKET_VALUE_USD) CORP_MARKET_VALUE_USD
,SUM(CREF_MARKET_VALUE_LOCAL) CREF_MARKET_VALUE_LOCAL
,SUM(CORP_MARKET_VALUE_LOCAL) CORP_MARKET_VALUE_LOCAL
,SUM(CREF_ACCRUED_INCOME_USD) CREF_ACCRUED_INCOME_USD
,SUM(CORP_ACCRUED_INCOME_USD) CORP_ACCRUED_INCOME_USD
,MIN(QUERY_TIMESTAMP) QUERY_TIMESTAMP
,SUM(CORP_UNP_TRD_MARKET_VALUE) CORP_UNP_TRD_MARKET_VALUE
,SUM(CORP_UNP_TRD_SHARES) CORP_UNP_TRD_SHARES
FROM
SELECT -- WANT ONE ROW PER FUND PER SECURITY
/*+ index(p I_POS_ENTID_SRCINTFC_CREF) index (pd) */
E.FUND_ENTITY_ID ENTITY_ID
,P.EFFECTIVE_DATE
,PD.SECURITY_ALIAS
,SYSDATE QUERY_TIMESTAMP
,1 CREF_SECURITY_COUNT
,MAX(PD.LOCAL_CURRENCY) CREF_CURRENCY_CODE
,MAX(PD.MKT_EXCHANGE_RATE) CREF_EXCHANGE_RATE
,SUM(PD.SHARE_PAR_VALUE) CREF_SHARES
,MAX(PD.PRICE) CREF_PRICE_LOCAL
,SUM(PD.MARKET_VALUE) CREF_MARKET_VALUE_USD
,SUM(PD.LOCAL_MARKET_VALUE) CREF_MARKET_VALUE_LOCAL
,SUM(PD.ACCRUED_INCOME) CREF_ACCRUED_INCOME_USD
,0 CORP_SECURITY_COUNT
,TO_CHAR(NULL) CORP_CURRENCY_CODE
,0 CORP_SHARES
,TO_NUMBER(NULL) CORP_PRICE_LOCAL
,TO_NUMBER(NULL) CORP_EXCHANGE_RATE
,0 CORP_MARKET_VALUE_USD
,0 CORP_MARKET_VALUE_LOCAL
,0 CORP_ACCRUED_INCOME_USD
,0 CORP_UNP_TRD_MARKET_VALUE
,0 CORP_UNP_TRD_SHARES
FROM CREF.ENTITY E,
CREF.ENTITY EF fund entity NF
,HOLDINGDBO.POSITION P
,(SELECT MAX(EFFECTIVE_DATE) CURRENT_DATE
FROM HOLDINGDBO.POSITION P,
PACE_MASTERDBO.INTERFACES I
WHERE I.SHORT_DESC = 'MELLON'
AND I.INSTANCE = P.SRC_INTFC_INST) DT
,HOLDINGDBO.POSITION_DETAIL PD
,PACE_MASTERDBO.INTERFACES I
WHERE E.PORTFOLIO_ENTITY_TYPE_CODE = 'PORT'
AND E.ENTITY_ID = P.ENTITY_ID
AND EF.ENTITY_ID = E.FUND_ENTITY_ID -- NF
AND EF.ACCOUNTING_SYSTEM = 'MELLON' -- NF
AND E.ENTITY_ID = P.ENTITY_ID
AND I.SHORT_DESC = 'STARDIRECT'
AND I.INSTANCE = P.SRC_INTFC_INST
AND P.EFFECTIVE_DATE = DT.CURRENT_DATE
AND P.POSITION_ID = PD.POSITION_ID
-- "GROUP BY" COMBINES THE LONG AND SHORT POSITIONS
GROUP BY P.EFFECTIVE_DATE, E.FUND_ENTITY_ID, PD.SECURITY_ALIAS
UNION ALL
SELECT -- CORPORATE SENDS ONE ROW PER FUND PER SECURITY (NO SHORTS)
/*+ index(p I_POS_ENTID_SRCINTFC_CREF) index (pd) */
E.ENTITY_ID
,P.EFFECTIVE_DATE
,PD.SECURITY_ALIAS
,SYSDATE QUERY_TIMESTAMP
,0 CREF_SECURITY_COUNT
,TO_CHAR(NULL) CREF_CURRENCY_CODE
,0 CREF_SHARES
,TO_NUMBER(NULL) CREF_PRICE_LOCAL
,TO_NUMBER(NULL) CREF_EXCHANGE_RATE
,0 CREF_MARKET_VALUE_USD
,0 CREF_MARKET_VALUE_LOCAL
,0 CREF_ACCRUED_INCOME_USD
,1 CORP_SECURITY_COUNT
,PD.LOCAL_CURRENCY CORP_CURRENCY_CODE
,PD.SHARE_PAR_VALUE CORP_SHARES
,PD.PRICE CORP_PRICE_LOCAL
,pd.mkt_exchange_rate CORP_EXCHANGE_RATE
,PD.MARKET_VALUE CORP_MARKET_VALUE_USD
,PD.LOCAL_MARKET_VALUE CORP_MARKET_VALUE_LOCAL
,PD.ACCRUED_INCOME CORP_ACCRUED_INCOME_USD
,0 CORP_UNP_TRD_MARKET_VALUE
,0 CORP_UNP_TRD_SHARES
FROM CREF.ENTITY E
,HOLDINGDBO.POSITION P
,(SELECT MAX(EFFECTIVE_DATE) CURRENT_DATE
FROM HOLDINGDBO.POSITION P,
PACE_MASTERDBO.INTERFACES I
WHERE I.SHORT_DESC = 'MELLON'
AND I.INSTANCE = P.SRC_INTFC_INST) DT
,HOLDINGDBO.POSITION_DETAIL PD
,PACE_MASTERDBO.INTERFACES I
WHERE E.FUND_FLAG = 'Y' --
AND E.ENTITY_ID = P.ENTITY_ID
AND I.SHORT_DESC = 'MELLON'
AND I.INSTANCE = P.SRC_INTFC_INST
AND P.EFFECTIVE_DATE = DT.CURRENT_DATE
AND P.POSITION_ID = PD.POSITION_ID
UNION ALL
SELECT
UTS.FUND_ENTITY_ID ENTITY_ID
,UTS.EFFECTIVE_DATE
,UTS.SECURITY_ALIAS
,SYSDATE QUERY_TIMESTAMP
,0 CREF_SECURITY_COUNT
,TO_CHAR(NULL) CREF_CURRENCY_CODE
,0 CREF_SHARES
,TO_NUMBER(NULL) CREF_PRICE_LOCAL
,TO_NUMBER(NULL) CREF_EXCHANGE_RATE
,0 CREF_MARKET_VALUE_USD
,0 CREF_MARKET_VALUE_LOCAL
,0 CREF_ACCRUED_INCOME_USD
,0 CORP_SECURITY_COUNT
,TO_CHAR(NULL) CORP_CURRENCY_CODE
,0 CORP_SHARES
,TO_NUMBER(NULL) CORP_PRICE_LOCAL
,TO_NUMBER(NULL) CORP_EXCHANGE_RATE
,0 CORP_MARKET_VALUE_USD
,0 CORP_MARKET_VALUE_LOCAL
,0 CORP_ACCRUED_INCOME_USD
,UTS.SUM_MARKET_VALUE CORP_UNP_TRD_MARKET_VALUE
,UTS.SUM_SHARES CORP_UNP_TRD_SHARES
FROM
(SELECT MAX(EFFECTIVE_DATE) CURRENT_DATE
FROM HOLDINGDBO.POSITION P,
PACE_MASTERDBO.INTERFACES I
WHERE I.SHORT_DESC = 'MELLON'
AND I.INSTANCE = P.SRC_INTFC_INST) DT
,cref.UNPROCESSED_TRADES_SUM UTS
WHERE DT.CURRENT_DATE = UTS.EFFECTIVE_DATE
AND UTS.UPDATED_BY = 'MELLON'
GROUP BY EFFECTIVE_DATE, ENTITY_ID, SECURITY_ALIAS
) P,
cref.ENTITY E,
SECURITYDBO.SECMASTER_HISTORY S
WHERE P.ENTITY_ID = E.ENTITY_ID
AND P.SECURITY_ALIAS = S.SECURITY_ALIAS
AND S.SRC_INTFC_INST = (SELECT INSTANCE FROM PACE_MASTERDBO.INTERFACES
WHERE SHORT_DESC = 'EAGLE PACE')
AND S.EFFECTIVE_DATE = (SELECT MAX(S1.EFFECTIVE_DATE)
FROM SECURITYDBO.SECMASTER_HISTORY S1
WHERE S1.SRC_INTFC_INST = S.SRC_INTFC_INST
AND S1.SECURITY_ALIAS = S.SECURITY_ALIAS
AND S1.EFFECTIVE_DATE <= P.EFFECTIVE_DATE); -
Insert statement taking more time
Hi,
Insert happening very slow after sqlldr happening in my program. Please find the below workflow of my program.
1) SQLLDR will be called, it will insert around 4 lakhs records in 'TEMP" table using direct path load.Response time is good here.
2)After, SQLLDR has finished its job, my procedure will be called, there every cursor statement working fine, but when it comes for "INSERT" statement it takes almost 40 mins.
3)Insert statement like this
INSERT /*+ append */ INTO HISTORY_TABLE(<COLUMN1>,<COLUMN2>,..etc) SELECT (<COLUMN1>,.<COLUMN2>...etc) from TEMP_TABLE;
4)select records from temp table which records were inserted during sqlldr(direct=true),before procedure call.
5)I check explain plan for the Insert statement it shows conventional path loading
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
| 0 | INSERT STATEMENT | | 409K| 143M| 6752 (2)|
| 1 | LOAD AS SELECT | HISTORY_TABLE | | | |
| 2 | TABLE ACCESS FULL | TEMP_TABLE | 409K| 143M| 6752 (2)|
6)Since i have no where condition in my insert statement it go for an full table scan.
Kindly advice to impove its performance.
My db is oracle 11g r2(11.2.0.3.0)
OS-Windows server 2008 r2
Tkprof for the sesion:
call count cpu elapsed disk query current rows
Parse 0 0.00 0.00 0 0 0 0
Execute 1 98.10 1860.58 347770 74736 1711253 407077
Fetch 0 0.00 0.00 0 0 0 0
total 1 98.10 1860.58 347770 74736 1711253 407077
Misses in library cache during parse: 0
Misses in library cache during execute: 1
Optimizer mode: ALL_ROWS
Parsing user id: 84 (recursive depth: 1)
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 256304 6.61 1299.01
direct path read temp 273 3.47 14.99
log buffer space 22 0.75 3.84
log file switch completion 7 19.48 30.70
log file switch (checkpoint incomplete) 16 8.12 17.15
db file parallel read 2 0.07 0.09
log file switch (private strand flush incomplete)
3 0.32 0.74
buffer busy waits 4 0.00 0.00
undo segment extension 2 0.00 0.00
SQL> show parameter optimizer
NAME TYPE VALUE
optimizer_capture_sql_plan_baselines boolean FALSE
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 11.2.0.3
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_mode string ALL_ROWS
optimizer_secure_view_merging boolean TRUE
optimizer_use_invisible_indexes boolean FALSE
optimizer_use_pending_statistics boolean FALSE
optimizer_use_sql_plan_baselines boolean TRUE
SQL> show parameter db_file_multi
NAME TYPE VALUE
db_file_multiblock_read_count integer 128
SQL> show parameter db_block_size
NAME TYPE VALUE
db_block_size integer 8192
SQL> show parameter cursor_sharing
NAME TYPE VALUE
cursor_sharing string EXACT
SQL>
SQL> l
1 select
2* sname,pname,pval1,pval2 from sys.aux_stats$
SQL> /
SNAME PNAME PVAL1 PVAL2
SYSSTATS_INFO STATUS COMPLETED
SYSSTATS_INFO DSTART 11-03-2011 06:38
SYSSTATS_INFO DSTOP 11-03-2011 06:38
SYSSTATS_INFO FLAGS 1
SYSSTATS_MAIN CPUSPEEDNW 1720.20725
SYSSTATS_MAIN IOSEEKTIM 10
SYSSTATS_MAIN IOTFRSPEED 4096
SYSSTATS_MAIN SREADTIM
SYSSTATS_MAIN MREADTIM
SYSSTATS_MAIN CPUSPEED
SYSSTATS_MAIN MBRC
SNAME PNAME PVAL1 PVAL2
SYSSTATS_MAIN MAXTHR
SYSSTATS_MAIN SLAVETHR
Thanks
FaizHi,
Below i apend the both table definitions. Please check
CREATE TABLE HISTORY_TABLE
( DAT_TIM VARCHAR2(19 BYTE),
REC_TYP VARCHAR2(2 BYTE),
AUTH_PPD VARCHAR2(4 BYTE),
LN_TERM VARCHAR2(4 BYTE),
FIID_TERM VARCHAR2(4 BYTE),
TERM_ID VARCHAR2(16 BYTE),
LN_ISSUER VARCHAR2(4 BYTE),
FIID_ISSUER VARCHAR2(20 BYTE),
PAN VARCHAR2(19 BYTE),
MBR_NUM VARCHAR2(3 BYTE),
BRCH_ID VARCHAR2(4 BYTE),
REGN_ID VARCHAR2(4 BYTE),
USER_FLD1X VARCHAR2(2 BYTE),
TYP_CDE VARCHAR2(2 BYTE),
TYP VARCHAR2(4 BYTE),
RTE_STAT VARCHAR2(2 BYTE),
ORIGINATOR CHAR(1 BYTE),
RESPONDER CHAR(1 BYTE),
ENTRY_TIM VARCHAR2(19 BYTE),
EXIT_TIM VARCHAR2(19 BYTE),
RE_ENTRY_TIM VARCHAR2(19 BYTE),
TRAN_DAT VARCHAR2(6 BYTE),
TRAN_TIM VARCHAR2(8 BYTE),
POST_DAT VARCHAR2(6 BYTE),
ACQ_ICHG_SETL_DAT VARCHAR2(6 BYTE),
ISS_ICHG_SETL_DAT VARCHAR2(6 BYTE),
SEQ_NUM VARCHAR2(12 BYTE),
TERM_TYP VARCHAR2(2 BYTE),
TIM_OFST VARCHAR2(5 BYTE),
ACQ_INST_ID_NUM VARCHAR2(11 BYTE),
RCV_INST_ID_NUM VARCHAR2(11 BYTE),
T_CDE VARCHAR2(2 BYTE),
T_FROM VARCHAR2(2 BYTE),
T_TO VARCHAR2(2 BYTE),
FROM_ACCT VARCHAR2(24 BYTE),
USER_FLD1 VARCHAR2(1 BYTE),
TO_ACCT VARCHAR2(19 BYTE),
MULT_ACCT VARCHAR2(1 BYTE),
AMT1 VARCHAR2(19 BYTE),
AMT2 VARCHAR2(19 BYTE),
AMT3 VARCHAR2(19 BYTE),
DEP_BAL_CR VARCHAR2(10 BYTE),
DEP_TYP VARCHAR2(1 BYTE),
RESP_BYTE1 VARCHAR2(3 BYTE),
RESP_BYTE2 VARCHAR2(3 BYTE),
TERM_NAME_LOC VARCHAR2(25 BYTE),
TERM_OWNER_NAME VARCHAR2(40 BYTE),
TERM_CITY VARCHAR2(13 BYTE),
TERM_ST_X VARCHAR2(3 BYTE),
TERM_CNTRY_X VARCHAR2(2 BYTE),
OSEQ_NUM VARCHAR2(12 BYTE),
OTRAN_DAT VARCHAR2(4 BYTE),
OTRAN_TIM VARCHAR2(8 BYTE),
B24_POST_DAT VARCHAR2(4 BYTE),
ORIG_CRNCY_CDE VARCHAR2(3 BYTE),
AUTH_CRNCY_CDE VARCHAR2(3 BYTE),
AUTH_CONV_RATE VARCHAR2(8 BYTE),
SETL_CRNCY_CDE VARCHAR2(3 BYTE),
SETL_CONV_RATE VARCHAR2(8 BYTE),
CONV_DAT_TIM VARCHAR2(19 BYTE),
RVSL_RSN VARCHAR2(2 BYTE),
PIN_OFST VARCHAR2(16 BYTE),
SHRG_GRP VARCHAR2(1 BYTE),
DEST_ORDER VARCHAR2(1 BYTE),
AUTH_ID_RESP VARCHAR2(6 BYTE),
IMP_IND VARCHAR2(1 BYTE),
AVAIL_IMP VARCHAR2(2 BYTE),
LEDG_IMP VARCHAR2(2 BYTE),
HLD_AMT_IMP VARCHAR2(2 BYTE),
CAF_REFR_IND VARCHAR2(1 BYTE),
USER_FLD3 VARCHAR2(1 BYTE),
DEP_SETL_IMP_FLG VARCHAR2(1 BYTE),
ADJ_SETL_IMP_FLG VARCHAR2(1 BYTE),
PBF1 VARCHAR2(1 BYTE),
PBF2 VARCHAR2(1 BYTE),
PBF3 VARCHAR2(1 BYTE),
PBF4 VARCHAR2(1 BYTE),
USER_FLD4 VARCHAR2(16 BYTE),
FRWD_INST_ID_NUM VARCHAR2(11 BYTE),
CRD_ACCPT_ID_NUM VARCHAR2(40 BYTE),
CRD_ISS_ID_NUM VARCHAR2(11 BYTE),
USER_FLD6 VARCHAR2(1 BYTE),
FILE_NAME VARCHAR2(100 BYTE),
ERR_FLAG CHAR(1 BYTE),
AMT2_ACTUAL VARCHAR2(20 BYTE),
ID_COL NUMBER(23,0),
RVSL_FLAG CHAR(1 BYTE),
SWRE_ID VARCHAR2(20 BYTE),
GAC_ID VARCHAR2(20 BYTE),
INS_USER NUMBER(5,0),
PART_CODE NUMBER(3,0),
ISS_RECON NUMBER(1,0),
ACQ_RECON NUMBER(1,0),
CROSS_BRANCH CHAR(1 BYTE),
CONSORTIUM_CODE NUMBER(3,0),
FROM_HOST VARCHAR2(1 BYTE),
FROM_HOST_ACQ VARCHAR2(1 BYTE),
AUDIT_NUM VARCHAR2(12 BYTE),
CAPTURE_CODE VARCHAR2(1 BYTE),
RESP_DAT_TIME VARCHAR2(19 BYTE),
PAN_SEQ_NUM NUMBER(1,0),
SERVICE_CODE VARCHAR2(3 BYTE),
ISS_BIN VARCHAR2(6 BYTE),
POS_DATA VARCHAR2(12 BYTE),
SECURITY_DATA VARCHAR2(8 BYTE),
CASHBACK_AMT VARCHAR2(15 BYTE),
REPLACEMENT_AMOUNT VARCHAR2(15 BYTE),
SETTL_AMT VARCHAR2(16 BYTE),
TRAN_FEE VARCHAR2(15 BYTE),
SETL_FEE VARCHAR2(15 BYTE),
MERC_CODE VARCHAR2(4 BYTE),
NTWORK_DATA VARCHAR2(12 BYTE),
PRIVATE_DATA_C_100 VARCHAR2(100 BYTE),
PAYMENT_INFO VARCHAR2(50 BYTE),
SURCHARGE_FEE VARCHAR2(15 BYTE),
SURC_BILL_AMT VARCHAR2(19 BYTE),
PROCESSING_CODE VARCHAR2(7 BYTE),
FRWD_CNTRY_CODE VARCHAR2(3 BYTE),
NTWORK_CODE VARCHAR2(2 BYTE),
FUNCTION_CODE VARCHAR2(3 BYTE),
REASON_CODE VARCHAR2(4 BYTE),
FEES VARCHAR2(10 BYTE),
SUR_CHARGE VARCHAR2(10 BYTE),
MESSAGE_TYPE VARCHAR2(4 BYTE),
APPROVE_STATUS VARCHAR2(10 BYTE),
CPS_TRAN_ID VARCHAR2(20 BYTE),
BANKTYPE_CODE VARCHAR2(5 BYTE),
RRB_BIN_CODE VARCHAR2(7 BYTE),
T_TYPE VARCHAR2(5 BYTE),
FEE_CRNCY VARCHAR2(25 BYTE),
FEE_INDICATOR VARCHAR2(1 BYTE),
FEE_TYPE VARCHAR2(84 BYTE),
CREDIT_BANK_CODE VARCHAR2(11 BYTE),
CREDIT_BR_CODE VARCHAR2(8 BYTE),
DEBIT_BANK_CODE VARCHAR2(11 BYTE),
ACTION_CODE VARCHAR2(3 BYTE),
ZEROS VARCHAR2(6 BYTE),
OTRACE_AUDIT_NO VARCHAR2(6 BYTE),
OFEE_TYPE1 VARCHAR2(2 BYTE),
OFEE_CRNCY1 VARCHAR2(3 BYTE),
OFEE_AMNT VARCHAR2(16 BYTE),
OFEE_INDICATOR VARCHAR2(1 BYTE),
SPACES VARCHAR2(2 BYTE),
ACQ_BANK_CODE VARCHAR2(6 BYTE),
CASHAT_POS VARCHAR2(16 BYTE),
LTS_STATUS VARCHAR2(30 BYTE),
APP_CODE VARCHAR2(6 BYTE),
CARD_ACCEPTID VARCHAR2(15 BYTE),
RESPONSE_CODE VARCHAR2(15 BYTE),
RES_RECVD_HOST VARCHAR2(1 BYTE),
DEVICE_ID VARCHAR2(16 BYTE),
RECORD_TYPE VARCHAR2(1 BYTE),
RRT_DEBIT_BANK_CODE VARCHAR2(11 BYTE),
ORIG_TYP VARCHAR2(6 BYTE),
DEVICE_TYPE VARCHAR2(3 BYTE),
ORGTRAN_CODE VARCHAR2(4 BYTE),
BILL_CRNCY VARCHAR2(3 BYTE),
BILL_AMNT VARCHAR2(19 BYTE),
OTRAN_AMNT VARCHAR2(19 BYTE),
INS_DATE DATE,
RECON_FLAG VARCHAR2(2 BYTE),
TRAN_ID VARCHAR2(25 BYTE)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_TST ;
CREATE INDEX CMS_ALL_SWT_DATA_INDEX ON HISTORY_TABLE (TYP, DEVICE_ID, FROM_ACCT, AMT1, NTWORK_CODE, ISS_BIN, POST_DAT, RESP_BYTE1, DEVICE_TYPE, T_CDE, PRIVATE_DATA_C_100, REASON_CODE)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX CMS_ALL_SWT_DATA_INDEX1 ON HISTORY_TABLE (TO_NUMBER(AMT1))
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX CMS_ALL_SWT_DATA_INDEX_FN ON HISTORY_TABLE (SUBSTR(DEVICE_ID,4))
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX CMS_ALL_SWT_DATA_INDEX_IDX ON HISTORY_TABLE (T_CDE, PRIVATE_DATA_C_100, ISS_BIN)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX CMS_ALL_SWT_DATA_INDEX_TST ON HISTORY_TABLE (TYP, POST_DAT, RESP_BYTE1, DEVICE_TYPE, AMT1)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX CMS_ALL_SWT_DATA_INDEX_TST1 ON HISTORY_TABLE (DEVICE_TYPE, TO_NUMBER(AMT1))
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX IDX_ALLSWT_PAN ON HISTORY_TABLE (PAN)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
Table Definition for TEMP Table:
CREATE TABLE REC_TLF_TEMP
( DAT_TIM VARCHAR2(19 BYTE),
REC_TYP VARCHAR2(2 BYTE),
AUTH_PPD VARCHAR2(4 BYTE),
LN_TERM VARCHAR2(4 BYTE),
FIID_TERM VARCHAR2(4 BYTE),
TERM_ID VARCHAR2(16 BYTE),
LN_ISSUER VARCHAR2(4 BYTE),
FIID_ISSUER VARCHAR2(20 BYTE),
PAN VARCHAR2(19 BYTE),
MBR_NUM VARCHAR2(3 BYTE),
BRCH_ID VARCHAR2(4 BYTE),
REGN_ID VARCHAR2(4 BYTE),
USER_FLD1X VARCHAR2(2 BYTE),
TYP_CDE VARCHAR2(2 BYTE),
TYP VARCHAR2(4 BYTE),
RTE_STAT VARCHAR2(2 BYTE),
ORIGINATOR CHAR(1 BYTE),
RESPONDER CHAR(1 BYTE),
ENTRY_TIM VARCHAR2(19 BYTE),
EXIT_TIM VARCHAR2(19 BYTE),
RE_ENTRY_TIM VARCHAR2(19 BYTE),
TRAN_DAT VARCHAR2(6 BYTE),
TRAN_TIM VARCHAR2(8 BYTE),
POST_DAT VARCHAR2(6 BYTE),
ACQ_ICHG_SETL_DAT VARCHAR2(6 BYTE),
ISS_ICHG_SETL_DAT VARCHAR2(6 BYTE),
SEQ_NUM VARCHAR2(12 BYTE),
TERM_TYP VARCHAR2(2 BYTE),
TIM_OFST VARCHAR2(5 BYTE),
ACQ_INST_ID_NUM VARCHAR2(11 BYTE),
RCV_INST_ID_NUM VARCHAR2(11 BYTE),
T_CDE VARCHAR2(2 BYTE),
T_FROM VARCHAR2(2 BYTE),
T_TO VARCHAR2(2 BYTE),
FROM_ACCT VARCHAR2(24 BYTE),
USER_FLD1 VARCHAR2(1 BYTE),
TO_ACCT VARCHAR2(19 BYTE),
MULT_ACCT VARCHAR2(1 BYTE),
AMT1 VARCHAR2(19 BYTE),
AMT2 VARCHAR2(19 BYTE),
AMT3 VARCHAR2(19 BYTE),
DEP_BAL_CR VARCHAR2(10 BYTE),
DEP_TYP VARCHAR2(1 BYTE),
RESP_BYTE1 VARCHAR2(3 BYTE),
RESP_BYTE2 VARCHAR2(3 BYTE),
TERM_NAME_LOC VARCHAR2(25 BYTE),
TERM_OWNER_NAME VARCHAR2(40 BYTE),
TERM_CITY VARCHAR2(13 BYTE),
TERM_ST_X VARCHAR2(3 BYTE),
TERM_CNTRY_X VARCHAR2(2 BYTE),
OSEQ_NUM VARCHAR2(12 BYTE),
OTRAN_DAT VARCHAR2(4 BYTE),
OTRAN_TIM VARCHAR2(8 BYTE),
B24_POST_DAT VARCHAR2(4 BYTE),
ORIG_CRNCY_CDE VARCHAR2(3 BYTE),
AUTH_CRNCY_CDE VARCHAR2(3 BYTE),
AUTH_CONV_RATE VARCHAR2(8 BYTE),
SETL_CRNCY_CDE VARCHAR2(3 BYTE),
SETL_CONV_RATE VARCHAR2(8 BYTE),
CONV_DAT_TIM VARCHAR2(19 BYTE),
RVSL_RSN VARCHAR2(2 BYTE),
PIN_OFST VARCHAR2(16 BYTE),
SHRG_GRP VARCHAR2(1 BYTE),
DEST_ORDER VARCHAR2(1 BYTE),
AUTH_ID_RESP VARCHAR2(6 BYTE),
IMP_IND VARCHAR2(1 BYTE),
AVAIL_IMP VARCHAR2(2 BYTE),
LEDG_IMP VARCHAR2(2 BYTE),
HLD_AMT_IMP VARCHAR2(2 BYTE),
CAF_REFR_IND VARCHAR2(1 BYTE),
USER_FLD3 VARCHAR2(1 BYTE),
DEP_SETL_IMP_FLG VARCHAR2(1 BYTE),
ADJ_SETL_IMP_FLG VARCHAR2(1 BYTE),
PBF1 VARCHAR2(1 BYTE),
PBF2 VARCHAR2(1 BYTE),
PBF3 VARCHAR2(1 BYTE),
PBF4 VARCHAR2(1 BYTE),
USER_FLD4 VARCHAR2(16 BYTE),
FRWD_INST_ID_NUM VARCHAR2(11 BYTE),
CRD_ACCPT_ID_NUM VARCHAR2(40 BYTE),
CRD_ISS_ID_NUM VARCHAR2(11 BYTE),
USER_FLD6 VARCHAR2(1 BYTE),
FILE_NAME VARCHAR2(100 BYTE),
ERR_FLAG CHAR(1 BYTE),
AMT2_ACTUAL VARCHAR2(20 BYTE),
ID_COL NUMBER(23,0),
RVSL_FLAG CHAR(1 BYTE),
SWRE_ID VARCHAR2(20 BYTE),
GAC_ID VARCHAR2(20 BYTE),
INS_USER NUMBER(5,0),
PART_CODE NUMBER(3,0),
ISS_RECON NUMBER(1,0),
ACQ_RECON NUMBER(1,0),
CROSS_BRANCH CHAR(1 BYTE),
CONSORTIUM_CODE NUMBER(3,0),
FROM_HOST VARCHAR2(1 BYTE),
FROM_HOST_ACQ VARCHAR2(1 BYTE),
AUDIT_NUM VARCHAR2(12 BYTE),
CAPTURE_CODE VARCHAR2(1 BYTE),
RESP_DAT_TIME VARCHAR2(19 BYTE),
PAN_SEQ_NUM NUMBER(1,0),
SERVICE_CODE VARCHAR2(3 BYTE),
ISS_BIN VARCHAR2(6 BYTE),
POS_DATA VARCHAR2(12 BYTE),
SECURITY_DATA VARCHAR2(8 BYTE),
CASHBACK_AMT VARCHAR2(15 BYTE),
REPLACEMENT_AMOUNT VARCHAR2(15 BYTE),
SETTL_AMT VARCHAR2(16 BYTE),
TRAN_FEE VARCHAR2(15 BYTE),
SETL_FEE VARCHAR2(15 BYTE),
MERC_CODE VARCHAR2(4 BYTE),
NTWORK_DATA VARCHAR2(12 BYTE),
PRIVATE_DATA_C_100 VARCHAR2(100 BYTE),
PAYMENT_INFO VARCHAR2(50 BYTE),
SURCHARGE_FEE VARCHAR2(15 BYTE),
SURC_BILL_AMT VARCHAR2(19 BYTE),
PROCESSING_CODE VARCHAR2(7 BYTE),
FRWD_CNTRY_CODE VARCHAR2(3 BYTE),
NTWORK_CODE VARCHAR2(2 BYTE),
FUNCTION_CODE VARCHAR2(3 BYTE),
REASON_CODE VARCHAR2(4 BYTE),
FEES VARCHAR2(10 BYTE),
SUR_CHARGE VARCHAR2(10 BYTE),
MESSAGE_TYPE VARCHAR2(4 BYTE),
APPROVE_STATUS VARCHAR2(10 BYTE),
CPS_TRAN_ID VARCHAR2(20 BYTE),
BANKTYPE_CODE VARCHAR2(5 BYTE),
RRB_BIN_CODE VARCHAR2(7 BYTE),
T_TYPE VARCHAR2(5 BYTE),
FEE_CRNCY VARCHAR2(25 BYTE),
FEE_INDICATOR VARCHAR2(1 BYTE),
FEE_TYPE VARCHAR2(84 BYTE),
CREDIT_BANK_CODE VARCHAR2(11 BYTE),
CREDIT_BR_CODE VARCHAR2(8 BYTE),
DEBIT_BANK_CODE VARCHAR2(11 BYTE),
ACTION_CODE VARCHAR2(3 BYTE),
ZEROS VARCHAR2(6 BYTE),
OTRACE_AUDIT_NO VARCHAR2(6 BYTE),
OFEE_TYPE1 VARCHAR2(2 BYTE),
OFEE_CRNCY1 VARCHAR2(3 BYTE),
OFEE_AMNT VARCHAR2(16 BYTE),
OFEE_INDICATOR VARCHAR2(1 BYTE),
SPACES VARCHAR2(2 BYTE),
ACQ_BANK_CODE VARCHAR2(6 BYTE),
CASHAT_POS VARCHAR2(16 BYTE),
LTS_STATUS VARCHAR2(30 BYTE),
APP_CODE VARCHAR2(6 BYTE),
CARD_ACCEPTID VARCHAR2(15 BYTE),
RESPONSE_CODE VARCHAR2(15 BYTE),
RES_RECVD_HOST VARCHAR2(1 BYTE),
DEVICE_ID VARCHAR2(16 BYTE),
RECORD_TYPE VARCHAR2(1 BYTE),
RRT_DEBIT_BANK_CODE VARCHAR2(11 BYTE),
ORIG_TYP VARCHAR2(6 BYTE),
DEVICE_TYPE VARCHAR2(3 BYTE),
ORGTRAN_CODE VARCHAR2(4 BYTE),
BILL_CRNCY VARCHAR2(3 BYTE),
TRAN_ID VARCHAR2(25 BYTE),
RECON_FLAG VARCHAR2(2 BYTE),
BILL_AMNT VARCHAR2(19 BYTE),
OTRAN_AMNT VARCHAR2(19 BYTE),
INS_DATE DATE
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_TST ;
CREATE INDEX CMS_TLF_TEMP_INDEX3 ON REC_TLF_TEMP (TO_NUMBER(PAN))
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX CMS_TLF_TEMP_INDEX4 ON REC_TLF_TEMP (TO_NUMBER(AUDIT_NUM))
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX IDX_REC_TEMP_CDE ON REC_TLF_TEMP (T_CDE)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_TST ;
CREATE INDEX IDX_TLF_DEVICEID ON REC_TLF_TEMP (DEVICE_ID)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX IDX_TLF_PRIVATE ON REC_TLF_TEMP (PRIVATE_DATA_C_100)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_TST ;
CREATE INDEX IDX_TLF_TEMP_BYTE1 ON REC_TLF_TEMP (PRIVATE_DATA_C_100, ISS_BIN, NTWORK_CODE)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_TST ;
CREATE INDEX IDX_TLF_TEMP_TST ON REC_TLF_TEMP (RESP_BYTE1)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX IND_TLFTEMP_RVSLFLG ON REC_TLF_TEMP (RVSL_FLAG)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX IND_TLFTEMP_TRMID_TCD ON REC_TLF_TEMP (TERM_ID, T_CDE)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX IND_TLFTMP_NWCDE ON REC_TLF_TEMP (NTWORK_CODE)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX REC_TLF_TEMP_INDEX ON REC_TLF_TEMP (PAN, SEQ_NUM, AUDIT_NUM)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
CREATE INDEX TEMPREVLSET ON REC_TLF_TEMP (SEQ_NUM, TYP, REC_TYP, PAN)
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE TBS_IDX ;
It shows that no triggers for both the tables.
Confirm that no where condition being used in the SQL.
Thanks
Faiz -
How to tune the Insert statement?
Hi ,
I am using 10.2.0.4.0 version of oracle.
i am having one insert statement , which comes almost all the time in the TOP of my AWR elapsed time section.
And its somewhat similar to as below.
Query:
INSERT INTO a (InvoicePK, CheckPK)
SELECT DISTINCT ih.InvoicePK, cd.CheckPK
FROM at,
cd,
ih,
rd
WHERE at.AttachmentPK = :1
AND cd.CheckPK = at.CheckPK
AND at.AttachmentPK = rd.AttachPK
AND ih.PAYPK = cd.PAYEEPAYPK
AND ih.PayerNS = cd.PayerNS
AND ih.PayerPayId = cd.PayerPayId
AND ih.UpperInvoiceNum = rd.UPPERINVNUM
AND ih.InvoiceStatusCD NOT IN ('REJ', 'DNY');
Below is the plan for the 'Select ' statement i.e. used in the insert statement.
Execution Plan:
Plan hash value: 2232002808
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
| 0 | SELECT STATEMENT | | 1 | 193 | 9 (23)| 00:00:01 | | |
| 1 | HASH UNIQUE | | 1 | 193 | 9 (23)| 00:00:01 | | |
|* 2 | HASH JOIN | | 1 | 193 | 8 (13)| 00:00:01 | | |
| 3 | NESTED LOOPS | | 10 | 1740 | 4 (0)| 00:00:01 | | |
| 4 | NESTED LOOPS | | 1 | 85 | 3 (0)| 00:00:01 | | |
| 5 | TABLE ACCESS BY INDEX ROWID | at | 1 | 16 | 2 (0)| 00:00:01 | | |
|* 6 | INDEX UNIQUE SCAN | atpk1 | 1 | | 1 (0)| 00:00:01 | | |
| 7 | TABLE ACCESS BY INDEX ROWID | cd | 7359K| 484M| 1 (0)| 00:00:01 | | |
|* 8 | INDEX UNIQUE SCAN | cdpk1 | 1 | | 1 (0)| 00:00:01 | | |
|* 9 | TABLE ACCESS BY GLOBAL INDEX ROWID| ih | 10 | 890 | 2 (0)| 00:00:01 | ROWID | ROWID |
|* 10 | INDEX RANGE SCAN | IH_PAYPK_PAYERNS_PAYID | 5 | | 1 (0)| 00:00:01 | | |
| 11 | TABLE ACCESS BY INDEX ROWID | rd | 9 | 171 | 3 (0)| 00:00:01 | | |
|* 12 | INDEX RANGE SCAN | IDX_rd | 9 | | 2 (0)| 00:00:01 | | |
Predicate Information (identified by operation id):
2 - access("IH"."UPPERINVOICENUM"="RD"."UPPERINVNUM")
6 - access("AT"."ATTACHMENTPK"=7794833983)
8 - access("CD"."CHECKPK"="AT"."CHECKPK")
9 - filter("IH"."INVOICESTATUSCD"<>'REJ' AND "IH"."INVOICESTATUSCD"<>'DNY')
10 - access("IH"."PAYPK"="CD"."PAYEEPAYPK" AND "IH"."PAYERNS"="CD"."PAYERNS" AND "IH"."PAYERPAYID"="CD"."PAYERPAYID")
12 - access("RD"."ATTACHPK"=7794833983)
Statistics
1 recursive calls
0 db block gets
71 consistent gets
0 physical reads
0 redo size
316 bytes sent via SQL*Net to client
240 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
3 rows processed
The 'select' Statement executes with in seconds resulting 3 distinct records, but the insert statement takes ~20sec(Elaps time per execution
as shown in AWR report) for one time execution, so what must be the reason , and how should i proceed to resolve this performance issue?You can do as follows:
- Enable trace
- execute the insert statement
- use tkprof (and put the results here) to see where's its taking long
Also, while insert is being executed, what are the wait events you see ?
I dont think there is problem with plan. -
Running .sql file or insert statements
I have a large .sql file compiled from SQL developer from a SQL Server database. Whatever I do, I cannot get the rows to be permanently committed to the oracle db. I tried copying the text directly from the file and running it as a script on the Oracle server which seemed to work but the rows did not actually commit, they weren't available in the program and when I restarted the SQL Developer program they disappeared.
I also tried using SQL Plus and received the same results. I even tried copying just a single insert statement in with no success.
A second problem I have is when copying the entire file over, somewhere around line 500 it starts asking for substation variables, which I have no idea what they are or why it's asking for them.
Thanks for any help :)Daft question, but have you got "commit" in your script?
Also, you'll need to "set define off" at the beginning of your script - & is the default prompt for SQLPLUS to ask for a variable, so if you're trying to insert "You & Me", it'll prompt you for a value for Me, unless you've got set define off. -
SQL*Loader-930: Error parsing insert statement for column
we upload data on daily basis in application throug apps user and these table are invloved
1. DEV_RA_INTERFACE_LINES_ALL(owner is a apps)
2.RA_INTERFACE_LINES_ALL(owner is a AR)
we do steps
1 delete record from DEV_RA_INTERFACE_LINES_ALL table
2 delete record from RA_INTERFACE_LINES_ALL table
3 load data using sql loader with apps user
4 insert in RA_INTERFACE_LINES_ALL table
we want to change user i mean these step do dataupload user not apps
we give the proper rights to dataupload like select,delete and insert rights on these table to dataupload user but when i going to load data throug sql loader we receive error
SQL*Loader-930: Error parsing insert statement for column APPS.DEV_RA_INTERFACE_
LINES_ALL.ORIG_SYSTEM_BILL_ADDRESS_ID.
ORA-00904: "F_ORIG_SYSTEM_BILL_ADDR_REF": invalid identifier
and if i insert data through apps then done.make sure that u have no speces left
between lines.
give the path of control file path correctly. -
Sql insert statement will fail if the data value has empty line
Hi,
I notice if the insert statement in my .sql file contains data that has new line (enter key), the insert will fail.
For example:
insert into mytable (message)
values ('this is the first line
this is the second line that will cause insert statement to fail
so as this third line');
commit;
How to overcome this?
Please advise.
Thank you.
Message was edited by:
bchurn
Message was edited by:
bchurnIt did not return me any error. What is the error you are receiving ??
SQL> create table mytable (message varchar2(500));
Table created.
SQL> insert into mytable (message)
2 values ('this is the first line
3 this is the second line that will cause insert statement to fail
4 so as this third line');
1 row created.
SQL> @c:\test.txt
1 row created.contents of c:\test.txt
<<
insert into mytable (message)
values ('this is the first line
this is the second line that will cause insert statement to fail
so as this third line');
>> -
Insert statement is not executing.....
From below procedure the insert statement is not executing....
update statement is working perfectly but insert......
create or replace PROCEDURE PAYMENT(AMT NUMBER,UID NUMBER) IS
AMT1 NUMBER;
AMT NUMBER;
PD VARCHAR2(100);
C1 NUMBER;
PER NUMBER;
ACC1 VARCHAR2(15);
CF NUMBER;
CRF NUMBER;
ACC2 VARCHAR2(15);
begin
SELECT PAY_DESC INTO PD FROM SUB.PAYMENT_TY WHERE ORD=0;
SELECT NVL(AMOUNT,0) INTO C1 FROM FOOD.MEMBER WHERE LTRIM(RTRIM(UPPER(NAME))) LIKE
LTRIM(RTRIM(UPPER(PD)))
AND USER_ID=UID;
IF NVL(C1,0)>AMT THEN /*CASH*/
C1:=C1-AMT;
SELECT ACCOUNT_CODE INTO ACC1 FROM SUB.MASTER WHERE PAY_CODE=2;
INSERT INTO ACC(AMOUNT_TD,ACC_CODE,EN_DATE,FO_TYPE,PART) VALUES(AMT,ACC1,SYSDATE,'JV','CASH
PERCENTAGE FOR '||45457);
STANDARD.COMMIT;STANDARD.COMMIT;STANDARD.COMMIT;
UPDATE FOOD.MEMBER_DET SET AMOUNT=C1 WHERE USER_ID=UIDAND C_COD=2;
STANDARD.COMMIT;STANDARD.COMMIT;STANDARD.COMMIT;
END IF;
end;the values receiving in insert statement is correct values.
how to resolve this?
Thanks skud...Check for too many rows or no data found exception.
And also check the number of rows either inserted or updated.
Something like this:
create or replace PROCEDURE PAYMENT(AMT NUMBER,UID NUMBER) IS
AMT1 NUMBER;
AMT NUMBER;
PD VARCHAR2(100);
C1 NUMBER;
PER NUMBER;
ACC1 VARCHAR2(15);
CF NUMBER;
CRF NUMBER;
ACC2 VARCHAR2(15);
begin
begin
SELECT PAY_DESC
INTO PD
FROM SUB.PAYMENT_TY
WHERE ORD=0;
exception
when too_many_rows then
dbms_output.put_line('Too many rows in first SELECT');
when no_data_found then
dbms_output.put_line('No data found in first select');
end;
begin
SELECT NVL(AMOUNT,0)
INTO C1
FROM FOOD.MEMBER
WHERE LTRIM(RTRIM(UPPER(NAME))) LIKE LTRIM(RTRIM(UPPER(PD)))
AND USER_ID=UID;
exception
when too_many_rows then
dbms_output.put_line('Too many rows in second SELECT');
when no_data_found then
dbms_output.put_line('No data found in second select');
end;
IF NVL(C1,0)>AMT THEN /*CASH*/
C1:=C1-AMT;
begin
SELECT ACCOUNT_CODE
INTO ACC1
FROM SUB.MASTER
WHERE PAY_CODE=2;
exception
when too_many_rows then
dbms_output.put_line('Too many rows in third SELECT');
when no_data_found then
dbms_output.put_line('No data found in third select');
end;
INSERT INTO ACC(AMOUNT_TD,ACC_CODE,EN_DATE,FO_TYPE,PART) VALUES(AMT,ACC1,SYSDATE,'JV','CASH PERCENTAGE FOR '||45457);
dbms_output.put_line('Insert ' || sql%rowcount);
COMMIT;
UPDATE FOOD.MEMBER_DET SET AMOUNT=C1 WHERE USER_ID=UIDAND C_COD=2;
dbms_output.put_line('Update ' || sql%rowcount);
commit;
END IF;
end;
/UNTESTED!! -
Convert the insert statement of an MS SQL server into an oracle statement
Hi ,
The insert statement in the ms sql server is
INSERT INTO #temp EXEC Procedurename @Id OUTPUT
where table temp
CREATE TABLE #temp(
Id varchar(10),
FNa varchar(40),
LNa varchar(40),
SId varchar(20),
Aid varchar(20),
Did varchar(20),
CCNa varchar(255),
CCId int,
ISu char(1),
IA char(1),
Dir char(1),
Ema varchar(60),
St char(2),
DId char(3)
I converted the insert statement like this
Procedurename(Id);
LOOP
FETCH cv_1 INTO v_temp;
EXIT WHEN cv_1%NOTFOUND;
INSERT INTO TEMP VALUES v_temp;
END LOOP;
CLOSE cv_1;
But i am receiving PL/SQL: ORA-00947: not enough values
Can anyone help on this?
Thanks1) Are you sure that you even need a temp table? Fetching all the rows from a cursor 1-by-1 and then inserting them into a temp table (I'm assuming the Oracle table TEMP is declared as a global temporary table) would seem rather unusual and most likely pointless. In Oracle, readers don't block writers, so there is generally no need to use temp tables to hold intermediate results.
2) If you do need to store a set of results into a table, it's going to be more efficient to do this in a single SQL statement rather than using a cursor. Something like
INSERT INTO my_table ( <<list of columns>> )
SELECT <<list of columns>>
FROM <<other tables>>
WHERE <<some conditions>>The SELECT part of the statement here is likely whatever SQL you use in declaring the cursor.
Justin -
Receivables Customer Statement report
Hi Friends,
I am an Oracle finance functional consultant. I got into an issue in regards to Receivables Customer Statement report in Oracle Receivables, when i run this report for one customer, i can see the ON ACCOUNT receipt amount as one of the lines in the report. But, for another customer, when i run this report, i can see the ON ACCOUNT receipt amount included in the total amount, but not one of the lines. Can someone please help me knowing the reason behind?
Thanks in advance..
Regards,
VenkatHi;
I suggest close your issue here as answered than move your issue Oracle Discussion Forums » E-Business Suite » Financials which you can get more quick response
Regard
Helios -
Hi...
I want to make an insert statement with a cursor, and if in the destination table exists allready a record like in start table, I would like to skip to insert that record.....and inserting the other records from the start table......
Can anyone help me?
Thanks.Why not a plain insert statement like this
insert into dest_table (col1, col2)
select col3, col4
from source_table
where not exists(select 1 from dest_table where col1=col4); -
Insert statement in when-checkbox-checked trigger doesn't work
in a when-checkbox-checked trigger, I wrote the follwing code :
IF :sunday = 'Y' THEN
msg_alert('Y','I',false);
pkg_var.v_day_count := pkg_var.v_day_count + 1;
msg_alert('1','I',false);
:schtm_skmk.day_id := '1';
msg_alert('2 ',I',false);
INSERT INTO schtm
(ROUTE_ID, DAY_ID, FLIGHT_ID)
VALUES
(:schmf.ROUTE_ID, :schtm_skmk.day_id, 1);
COMMIT;
msg_alert('end insert schtm','I',false);
END IF;
if the checkbox is checked, I assigned value '1' to day_id. Then, I want to insert a row into table SCHTM. But, the insert statement fail. The msg_alert '2' pop up. The msg_alert 'end insert schtm' does not pop up, meaning the insert statement fail. It also fail after I replace the insert statement with the exact value of the item. But if I execute this statement in SQL plus, it insert a row into the database.
What is strange here is it did work before, I successfully insert 2 rows into database. But when I test it again just a while later, it never work anymore.
Please help.
Thanks,
Shu WenIt seems that you have missed ELSE. By the way there is only one INSERT ...
-
Urgent help needed... PL/SQL Insert statement
Hi...
I need some urgent help on this project. I have a 2 column table with values that need to be inserted into another existing table which has a sequence.
This is the 2 column table:
FUND YEAR
29587 05
29587 07
Existing table:
Name Null? Type
LIST_ID NOT NULL NUMBER(6) -- This is a sequence
WEB_USER_ID NOT NULL VARCHAR2(10)
RESOURCE_TYPE NOT NULL VARCHAR2(8)
LIST_TYPE NOT NULL VARCHAR2(10)
LIST_NAME NOT NULL VARCHAR2(50)
LIST_CODE_1 NOT NULL VARCHAR2(6) -- FUND from table above
LIST_CODE_2 NOT NULL VARCHAR2(6) -- YEAR from table above
LIST_CODE_3 NOT NULL VARCHAR2(6)
LAST_UPDATED_DT NOT NULL DATE
LAST_UPDATED_BY NOT NULL VARCHAR2(10)
LIST_CODE_4 NOT NULL VARCHAR2(20)
The columns from table 1 (FUND, YEAR) correspond to columns (LIST_CODE_1, LIST_CODE_2) in table 2. The column LIST_ID is a sequence. I can put in sysdate for LAST_UPDATED_DT and my initials SN for LAST_UPDATED_BY. This is going to be for 2 unique WEB_USER_IDs which would be in the WHERE clause. I will be inserting 2200 rows for each id. A single insert statement would look like this -
INSERT INTO EXISTING_TBL (list_id,web_user_id,resource_type,list_type,list_name,list_code_1,list_code_2,list_code_3,list_code_4,last_updated_dt,last_updated_by) VALUES ('470027','WEBUSER','GL','FUNDFYF',' FUND BALANCE SUM','12010','01',' ',' ',{ts '2010-5-19 10:16:9'},'SN')
How would I do this to insert the 2200 values from my 2 column table to the existing table?
All help is greatly appreciated!!
SNHello ,
I think this will work
INSERT INTO TABLE2
LIST_ID,
WEB_USER_ID,
RESOURCE_TYPE,
LIST_TYPE,
LIST_NAME,
LIST_CODE_1,
LIST_CODE_2,
LIST_CODE_3,
LIST_CODE_4,
LAST_UPDATED_DT,
LAST_UPDATED_BY
SELECT
SEQ.NEXTVAL,
FUND,
YEAR,
<VALUE FOR RESOURCE_TYPE>,
<VALUE FOR LIST_TYPE>,
<VALUE FOR LIST_NAME>,
<VALUE FOR LIST_CODE_1>,
<VALUE FOR LIST_CODE_2>,
<VALUE FOR LIST_CODE_3>,
<VALUE FOR LIST_CODE_4>,
SYSDATE,
'SN'
FROM
TABLE1
REGARDS
Rahul Sharma -
Insert Statement Will Not Work if a user has
I am using a MySQL database to process my Java Server Page form.
Simply, I always try to see if I can process information, first, via the command line client, then thru JSP.
At the command line client I type:
I type insert into tablename (favorite_quote) VALUES
('Sleepin' in 'da house!');
That insert throws an error. SImply said, because of the bunches of single quotes... Is there any advanced statement or insert statement to solve this?
If I do this:
INSERT INTO tablename (favorite_quote) VALUES
('Java');
It adds the record perfectly normal...
I am REALLY new to Java, so any help on this issue would be great!
BTW: Part of my Java Server Pages has:
String favorite_quote =request.getParameter("favorite_quote");
"INSERT INTO tablename (favorite_quote) VALUES " +
"('"+userid+"')";
Obviously that works fine unless anybody adds a ' or " isn't or what's, etc.
I'm loving Java, I just REALLY need some help on solving this issue.
Thank you so much! Any help would BE **WONDERFUL**!String favorite_quote
te =request.getParameter("favorite_quote");
PreparedStatement ps =
= connection.prepareStatement(""INSERT INTO tablename
(favorite_quote) VALUES (?)");
ps.setString(1, "Sleepin' in 'da house!");
ps.execute();oops a small error
PreparedStatement ps = connection.prepareStatement("INSERT INTO tablename (favorite_quote) VALUES (?)"); -
Insert statement does not insert all records from a partitioned table
Hi
I need to insert records in to a table from a partitioned table.I set up a job and to my surprise i found that the insert statement is not inserting all the records on the partitioned table.
for example when i am using select statement on to a partitioned table
it gives me 400 records but when i insert it gives me only 100 records.
can anyone help in this matter.INSERT INTO TABLENAME(COLUMNS)
(SELECT *
FROM SCHEMA1.TABLENAME1
JOIN SCHEMA2.TABLENAME2a
ON CONDITION
JOIN SCHEMA2.TABLENAME2 b
ON CONDITION AND CONDITION
WHERE CONDITION
AND CONDITION
AND CONDITION
AND CONDITION
AND (CONDITION
HAVING SUM(COLUMN) > 0
GROUP BY COLUMNS
Maybe you are looking for
-
Just started using the shared Photostream feature today, and we noticed that the first shared Photostream we tried duplicated all the photos that were shared if viewed from iPhoto or AppleTV. The web site for the shared Photostream does have exactly
-
Having same problem as Black Knight!
I have tried all of the solutions posted so far. Nothing! There is a copy of quicktime on my computer that I cannot delete. Can someone tell me how? When I try to download itunes... error message 3 or make sure you have access to that file. I had it
-
Can't update reader - files in use by adobe 8.1
I have tried to update to adobe reader x as I cannot view some things online. My computer runs Vista. Error message comes up during installation: Files in use by Adobe 8.1, close these then retry. Adobe 8.1 has been deleted from the computer usin
-
Firefox 3.5 will not mount on Mac OS 10.3
I mistakenly delted and trashed Firefox. When attempting to install Firefox 3.5 on Mac OS 10.3, mounting fails. == Operating system == Mac OS 103
-
Personnel Area & sub area Creation
Dear Gurus Currently We have to create personnel areas for my client which belongs to manufacturing sector. They have their , corporate office in y place, registered office in x place , two plant locations which is situated in two other places. my q