-2

ビューの作成中にエラー (ORA - 00972 : 識別子が長すぎます) が発生しました。

ビューステートメントを見つけてください。

create or replace view ELVW_ATM_REC_HANDOFF_1   
(Rectype
    ,Recseq
    ,Record_Type
    ,Record_Sequence
    ,MESSAGE_TYPE
    ,PAN
    ,PROCESSING_CODE
    ,TRANSACTION_AMOUNT
    ,TRANSACTION_CURRENCY_CODE
    ,SETTLEMENT_AMOUNT
    ,SETTLEMENT_CURRENCY_CODE
    ,Billing_AMOUNT
    ,Billing_CURRENCY_CODE
    ,Transaction_DATE
    ,Settlement_Date
    ,TRACE
    ,REFERENCE_NUMBER
    ,Switch_Log_ID
    ,AUTHORIZATION_NUMBER
    ,RESPONSE_CODE
    ,Host_Error_Code
    ,TERMINAL_ID
    ,Acceptor_ID
    ,ACQUIRING_INSTITUTION_CODE
    ,REV_FLAG
    ,Original_Trace_Number
    ,From_Account
    ,To_Account) 

as
select * from    


(select 'FT'
    ,'count'
    ,'DT'
    ,rownum
    ,msg_type
    ,pan,proc_code
    ,txn_amt
    ,txn_ccy_code
    ,setl_amt
    ,setl_ccy_code
    ,bill_amt
    ,bill_ccy_code
    ,trans_dt_time
    ,setl_date
    ,stan,trn_ref_no
    ,'iso field 60'
    ,'isofield 38'
    ,resp_code
    ,error_code
    ,term_id
    ,'ISOmessage42'
    ,acq_ins_id
    ,decode(substr(msg_type,1,1),4,reverse(msg_type),msg_type)
    ,'ISOfield90'
    ,from_acc
    ,to_acc 
    from swtb_txn_log)

デコード機能でエラーが発生しているようです。コメントしたら。その正常に動作します。以下のコードを見つけてください

create or replace view ELVW_ATM_REC_HANDOFF_1(Rectype,Recseq,Record_Type,Record_Sequence,MESSAGE_TYPE,PAN,PROCESSING_CODE,TRANSACTION_AMOUNT,TRANSACTION_CURRENCY_CODE,SETTLEMENT_AMOUNT,SETTLEMENT_CURRENCY_CODE,Billing_AMOUNT,Billing_CURRENCY_CODE,Transaction_DATE,/*Transaction_TIME,*/Settlement_Date,TRACE,REFERENCE_NUMBER,Switch_Log_ID,AUTHORIZATION_NUMBER,RESPONSE_CODE,Host_Error_Code,TERMINAL_ID,Acceptor_ID,ACQUIRING_INSTITUTION_CODE,/*REV_FLAG,*/Original_Trace_Number,From_Account,To_Account) as
select * from (select 'FT','count','DT',rownum,msg_type,pan,proc_code,txn_amt,txn_ccy_code,setl_amt,setl_ccy_code,bill_amt,bill_ccy_code,trans_dt_time,/*trans_dt_time,*/setl_date,stan,trn_ref_no,'iso field 60',
'isofield 38',resp_code,error_code,term_id,'ISOmessage42',acq_ins_id,/*decode(substr(msg_type,1,1),4,reverse(msg_type),msg_type),*/'ISOfield90',from_acc,to_acc from swtb_txn_log)

列名の長さを確認しました。30文字未満です。あなたの助けを楽しみにしています。

4

2 に答える 2

3

関数にエイリアス (30 文字未満) を付けてみてくださいDECODE

例:

DECODE( ...stuff... ) MYALIAS
于 2013-02-13T14:03:51.530 に答える