create or replace procedure yspay_transactionflow is
begin
--新增
INSERT INTO app_trans_info ati
(
ati.ID, -- ID
ati.TRANSTIME, -- 訂單上送時間
ati.TRANSDATE, -- 訂單上送日期
ati.SENDDATE, -- 交易上送時間
ati.MERCHANTCODE, -- 商戶編號
ati.TRANSAMT, -- 交易金額
ati.RESPONSECODE, -- 通道回應碼
ati.SEARCH_TRANS_CODE, -- 交易型別
ati.APPFEE, -- 附加費
ati.ORDERID, -- 訂單號關聯訂單表
ati.CHANNELNO, -- 通道編號
ati.SYS_ORDERID, -- 通道流水編號
ati.RESPONSE, -- 回應結果
ati.PAYMENTTYPE, -- 0--線上支付(余額);1--線下支付(刷卡)
ati.APPSN, -- App流水號
ati.QS_ERROR_CODE, -- 清算錯誤碼
ati.BATCHNO, -- 代付批次
ati.SERIALNO -- 代付流水
)
SELECT
(SELECT TRUNC( DBMS_RANDOM.VALUE(10000000, 99999999) ) FROM dual) AS id,--隨機生成一個8位數的ID
(SELECT TRUNC( DBMS_RANDOM.VALUE(100000, 999999) ) FROM dual) AS TRANSTIME,--生成訂單上送時間
(select to_char(sysdate,'yyyyMMdd') from dual) AS TRANSDATE, --生成訂單上送日期
(select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual) AS SENDDATE, --生成交易上送時間
pdm.MERC_ID AS MERCHANTCODE, -- 商戶編號
pdm.FACTAMOUNT AS TRANSAMT, -- 交易金額
'0001' AS RESPONSECODE, -- 通道回應碼
'A019' AS SEARCH_TRANS_CODE, -- 交易型別
pdm.ADDFEE AS APPFEE, -- 附加費
pdm.ORDERNUM AS ORDERID, -- 訂單號
'YS53' AS CHANNELNO, --通道編號
(SELECT TRUNC( DBMS_RANDOM.VALUE(100000000000, 999999999999) ) FROM dual) AS SYS_ORDERID,-- 通道流水編號
'A0001' AS RESPONSE, -- 回應結果
'0' AS PAYMENTTYPE, -- 0--線上支付(余額);1--線下支付(刷卡)
'A180516400016' AS APPSN,--改
'00' AS QS_ERROR_CODE, -- 清算錯誤碼
(SELECT TRUNC( DBMS_RANDOM.VALUE(10000000, 99999999) ) FROM dual) AS BATCHNO,--代付批次
'0012500016' AS SERIALNO -- 代付流水
FROM
PMS_DRAW_MONEY pdm;
--新增
INSERT INTO pms_app_trans_info pati
(
pati.ID, -- ID
pati.PAYMENTTYPE, -- 支付方式
pati.TRADETYPE, -- 交易型別
pati.TRADETIME, -- 交易時間
pati.ORDERID, -- 交易號
pati.PAYAMOUNT, -- 交易金額
pati.BANKCARDNAME, -- 銀行卡名稱
pati.MERCNAME, -- 賬戶名稱
pati.BANKNAME, -- 銀行名稱
pati.PAYEENAME, -- 收款人姓名
pati.MERCID, -- 商戶id
pati.POUNDAGE, -- 手續費
pati.FACTAMOUNT, -- 實際到商戶帳戶金額
pati.RESPONSESTATE, -- 狀態
pati.FIELD1, -- 支付方式編碼
pati.FIELD2, -- 交易型別編碼
pati.FILED3, -- 銀行卡號
pati.PORTORDERID, -- 介面訂單號
pati.FINISHTIME, -- 訂單完成時間
pati.EXTENDS1, -- 費率
pati.EXTENDS3, -- 提款方式
pati.EXTENDS5, -- 交易狀態碼
pati.EXTENDS8
)
SELECT
(SELECT TRUNC( DBMS_RANDOM.VALUE(10000000, 99999999) ) FROM dual) AS ID,--隨機生成一個8位數的ID
'賬戶余額' AS PAYMENTTYPE, -- 支付方式
'提款' AS TRADETYPE, -- 交易型別
(select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual) AS TRADETIME, --交易時間
pdm.ORDERNUM AS ORDERID, -- 交易號
pdm.PAYAMOUNT AS PAYAMOUNT, -- 交易金額
pdm.BANKNAME AS BANKCARDNAME, -- 銀行卡名稱
pdm.SHORTNAME AS MERCNAME, -- 賬戶名稱
pdm.BANKNAME AS BANKNAME, -- 銀行名稱
pdm.SHORTNAME AS PAYEENAME, -- 收款人姓名
pdm.MERC_ID AS MERCID, -- 商戶id
pdm.ADDFEE AS POUNDAGE, -- 手續費
pdm.FACTAMOUNT AS FACTAMOUNT, -- 實際到商戶帳戶金額
'交易失敗' AS RESPONSESTATE,
'0' AS FIELD1, -- 支付方式編碼
'5' AS FIELD2, -- 交易型別編碼
pdm.CLR_MERC AS FILED3, -- 銀行卡號
pdm.ORDERNUM AS PORTORDERID, -- 介面訂單號
(select to_char(sysdate,'yyyyMMddHH24miss') from dual) AS FINISHTIME, --訂單完成時間
'0' AS EXTENDS1, -- 費率
'0' AS EXTENDS3, -- 提款方式
'3' AS EXTENDS5, -- 交易狀態碼
'0' AS EXTENDS8
FROM
PMS_DRAW_MONEY pdm;
exception
WHEN OTHERS THEN
rollback;
END yspay_transactionflow;
uj5u.com熱心網友回復:
好歹把錯誤列印出來吧。。。uj5u.com熱心網友回復:
怎么列印錯誤啊。。。。uj5u.com熱心網友回復:
例外處理部分先去掉?
uj5u.com熱心網友回復:
可以commit嗎?uj5u.com熱心網友回復:
這,有區別嗎?他的問題是他把例外捕獲了,但卻沒列印。
uj5u.com熱心網友回復:
第一,例外處理里要加輸出資訊。第二,COMMIT了嗎。
第三,INSERT后邊的SELECT能查詢出結果嗎。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/39945.html
標籤:高級技術
下一篇:觸發器問題
