DECLARE CURSOR C_ABC ISSELECT DEFSTR1 FROM ODS_TENCE WHERE DEFSTR1<>'交易时间'; IN_DEFSTR1 VARCHAR2(128);--存储变量 OUT_DEFSTR1 DATE;--结果变量
BEGIN OPEN C_ABC; LOOP FETCH C_ABC INTO IN_DEFSTR1;--提取游标 IF C_ABC % NOTFOUND THEN EXIT; END IF; OUT_DEFSTR1:=TO_DATE(SUBSTR(IN_DEFSTR1,1,INSTR(IN_DEFSTR1,' ')-1),'yyyy/mm/dd'); DBMS_OUTPUT.put_line(OUT_DEFSTR1); END LOOP; CLOSE C_ABC; END;
DECLARE CURSOR C_ABC ISSELECT DEFSTR6 FROM ODS_TENCE WHERE DEFSTR1<>'交易时间'; IN_DEFSTR4 VARCHAR2(128);--存储变量 OUT_DEFSTR4 VARCHAR2(128);--结果变量 --过渡变量 S1 VARCHAR2 ( 128 ); S2 VARCHAR2 ( 128 ); N1 INTEGER; BEGIN OPEN C_ABC; LOOP FETCH C_ABC INTO IN_DEFSTR4;--提取游标 IF C_ABC % NOTFOUND THEN EXIT; END IF; OUT_DEFSTR4:=REPLACE(IN_DEFSTR4,'¥',''); DBMS_OUTPUT.put_line(OUT_DEFSTR4); END LOOP; CLOSE C_ABC; END;
DECLARE CURSOR C_ABC IS SELECT DEFSTR5 FROM ODS_TENCE WHERE DEFSTR1 <>'交易时间'; IN_DEFSTR6 VARCHAR2(128); --存储变量 OUT_DEFSTR6 VARCHAR2(128); --结果变量 --过渡变量 S1 VARCHAR2(128); N1 INTEGER; BEGIN OPEN C_ABC; LOOP FETCH C_ABC INTO IN_DEFSTR6; --提取游标 IF C_ABC % NOTFOUND THEN EXIT; END IF; OUT_DEFSTR6:='CNY'; DBMS_OUTPUT.put_line(OUT_DEFSTR6); END LOOP; CLOSE C_ABC; END;
DECLARE CURSOR C_ABC IS SELECT DEFSTR7,DEFSTR8 FROM ODS_TENCE WHERE DEFSTR1 <>'交易时间'; IN_DEFSTR7 VARCHAR2(128); --存储变量 OUT_DEFSTR7 VARCHAR2(128); --结果变量 --过渡变量 S1 VARCHAR2(128); N1 INTEGER; BEGIN OPEN C_ABC; LOOP FETCH C_ABC INTO IN_DEFSTR7,S1; --提取游标 IF C_ABC % NOTFOUND THEN EXIT; END IF; IF IN_DEFSTR7='/'THEN -- 先处理一般特殊情况 IF S1='已存入零钱'THEN --这种情况表示存入微信 OUT_DEFSTR7:='TENCE'; ELSE --其他情况待处理 OUT_DEFSTR7:='待处理'; END IF; ELSIF IN_DEFSTR7='农业银行(0076)'THEN --现在处理农行的特殊情况 IF S1='提现已到账'THEN -- 微信提现到农行,因为收支字段判断为支出,所以本方是微信 OUT_DEFSTR7:='TENCE'; ELSIF S1 IN('充值完成','已转账','已全额退款','对方已退还','支付成功','对方已收钱') THEN --这些情况属于通过微信使用农行卡,包括微信的零钱充值,本方属于农行 OUT_DEFSTR7:='ABC'; ELSE OUT_DEFSTR7:='新的农行使用方式'; END IF; ELSIF IN_DEFSTR7 IN('交通银行(0757)','零钱','工商银行(4868)') THEN CASE IN_DEFSTR7 WHEN'交通银行(0757)'THEN OUT_DEFSTR7:='BOC'; WHEN'零钱'THEN OUT_DEFSTR7:='TENCE'; WHEN'工商银行(4868)'THEN OUT_DEFSTR7:='ICBC'; ENDCASE; ELSE --其他支付方式 OUT_DEFSTR7:='未知的本方信息'; END IF; DBMS_OUTPUT.put_line(OUT_DEFSTR7 || S1); END LOOP; CLOSE C_ABC; END;
DECLARE CURSOR C_ABC IS SELECT DEFSTR3,DEFSTR2 FROM ODS_TENCE WHERE DEFSTR1 <>'交易时间'; IN_DEFSTR8 VARCHAR2(128); --存储变量 OUT_DEFSTR8 VARCHAR2(128); --结果变量 --过渡变量 S1 VARCHAR2(128); N1 INTEGER; BEGIN OPEN C_ABC; LOOP FETCH C_ABC INTO IN_DEFSTR8,S1; --提取游标 IF C_ABC % NOTFOUND THEN EXIT; END IF; IF IN_DEFSTR8='农业银行(0076)'AND S1='零钱充值'THEN OUT_DEFSTR8:='TENCE'; ELSE OUT_DEFSTR8:=IN_DEFSTR8; END IF; DBMS_OUTPUT.put_line(OUT_DEFSTR8); END LOOP; CLOSE C_ABC; END;
交易单号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
DECLARE CURSOR C_ABC IS SELECT DEFSTR9 FROM ODS_TENCE WHERE DEFSTR1 <>'交易时间'; IN_DEFSTR9 VARCHAR2(128); --存储变量 OUT_DEFSTR9 VARCHAR2(128); --结果变量
BEGIN OPEN C_ABC; LOOP FETCH C_ABC INTO IN_DEFSTR9; --提取游标 IF C_ABC % NOTFOUND THEN EXIT; END IF; OUT_DEFSTR9:=IN_DEFSTR9; DBMS_OUTPUT.put_line(OUT_DEFSTR9); END LOOP; CLOSE C_ABC; END;
交易备注
备注取商品信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
DECLARE CURSOR C_ABC IS SELECT DEFSTR4 FROM ODS_TENCE WHERE DEFSTR1 <>'交易时间'; IN_DEFSTR10 VARCHAR2(128); --存储变量 OUT_DEFSTR10 VARCHAR2(128); --结果变量
BEGIN OPEN C_ABC; LOOP FETCH C_ABC INTO IN_DEFSTR10; --提取游标 IF C_ABC % NOTFOUND THEN EXIT; END IF; OUT_DEFSTR10:=IN_DEFSTR10; DBMS_OUTPUT.put_line(OUT_DEFSTR10); END LOOP; CLOSE C_ABC; END;