让oracle帮你理财
来源:互联网 发布:sql server 编码格式 编辑:程序博客网 时间:2024/04/28 11:44
本案例以建设银行为例
请将建行的交易明细表载下,并命名为ccb.txt
此时,你有两种选择:sqlldr or external table
㈠ sqlldr
因为网银只有在win上才能用,所以如果你的os是linux/unix,那么在ctl中必须指定字符集
让UTF-8可以显示GB18030
① 建表
create table t_bank_invoice ( account_number number, sub_number number, transac_date date, transac_address varchar2(600), transac_comment varchar2(600), currency varchar2(100), remit varchar2(100), in_amount number(20,2), out_amount number(20,2), balance number(20,2), opposite_number number, opposite_username varchar2(100), all_comment varchar2(2000));
② 用sqlldr
[oracle@localhost ~]$ sqlldr hr/hr control=ccb.ctl
ccb.ctl如下:
[oracle@localhost ~]$ sqlldr hr/hr control=ccb.ctl ccb.ctl如下:LOAD DATAcharacterset ZHS16GBKINFILE 'ccb.txt'DISCARDFILE 'ccb.dis'appendINTO table t_bank_invoiceTRAILING NULLCOLS ( account_number "11111111111", sub_number "00000", transac_date position(1:8) DATE(8) "YYYYMMDD" TERMINATED BY ',', transac_address position(10) char TERMINATED BY ',', out_amount decimal external TERMINATED BY ',' nullif out_amount=blanks, in_amount decimal external TERMINATED BY ',' nullif in_amount=blanks , balance decimal external TERMINATED BY ',' nullif balance=blanks, opposite_number char TERMINATED BY ',', opposite_username char TERMINATED BY ',', currency char TERMINATED BY ',', transac_comment char TERMINATED BY whitespace )
③ 查询表
当然、你可以在all_comment列个性化设置你的具体消费开支,比如,交电话费多少钱、买衣服多少钱等等
㈡ external table
① 创建directory对象
sys@ORCL> create directory dir as '/home/oracle/';Directory created.sys@ORCL> grant read,write on directory dir to public;Grant succeeded.
② 把ccb.txt放在dir下
③ 用sqlldr生成外部表的创建语句,并编辑ccb.log
编辑如下:
CREATE TABLE T_BANK_INVOICE( "ACCOUNT_NUMBER" VARCHAR(255), "SUB_NUMBER" VARCHAR(255), "TRANSAC_DATE" DATE, "TRANSAC_ADDRESS" VARCHAR2(600), "OUT_AMOUNT" NUMBER(20,2), "IN_AMOUNT" NUMBER(20,2), "BALANCE" NUMBER(20,2), "OPPOSITE_NUMBER" NUMBER, "OPPOSITE_USERNAME" VARCHAR2(100), "CURRENCY" VARCHAR2(100), "TRANSAC_COMMENT" VARCHAR2(600))ORGANIZATION external( TYPE oracle_loader DEFAULT DIRECTORY dir ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE CHARACTERSET ZHS16GBK BADFILE 'ccb1.bad' DISCARDFILE 'ccb1.dis' LOGFILE 'ccb.log_xt' READSIZE 1048576 FIELDS LDRTRIM MISSING FIELD VALUES ARE NULL REJECT ROWS WITH ALL NULL FIELDS ( "ACCOUNT_NUMBER" CHAR(1), "SUB_NUMBER" CHAR(1), "TRANSAC_DATE" (1:8) CHAR(8) DATE_FORMAT DATE MASK "YYYYMMDD", "TRANSAC_ADDRESS" (10) CHAR(255) TERMINATED BY ",", "OUT_AMOUNT" CHAR(255) TERMINATED BY "," NULLIF ("OUT_AMOUNT" = BLANKS), "IN_AMOUNT" CHAR(255) TERMINATED BY "," NULLIF ("IN_AMOUNT" = BLANKS), "BALANCE" CHAR(255) TERMINATED BY "," NULLIF ("BALANCE" = BLANKS), "OPPOSITE_NUMBER" CHAR(255) TERMINATED BY ",", "OPPOSITE_USERNAME" CHAR(255) TERMINATED BY ",", "CURRENCY" CHAR(255) TERMINATED BY ",", "TRANSAC_COMMENT" CHAR(255) TERMINATED BY WHITESPACE ) ) location ( 'ccb.txt' ))REJECT LIMIT UNLIMITED;
④
[oracle@localhost ~]$ cp ccb.log ccb.sql
⑤
hr@ORCL> @ccb.sqlTable created.
⑥ 查询表
小结:如果您的存款惊人、或者经常存取,明细比较大、外部表是个不错的选择
但不论是sqlldr还是external table
都是为了方便我们理财、让我们的生活更厚重和精彩
- 让oracle帮你理财
- 帮你做新年理财计划
- 看Siri如何帮你轻松理财
- 让Ant帮你武装到牙齿
- 小长假理财:帮你赚回旅游费
- 十个好习惯帮你理财省大钱
- P2P互联网理财平台蚂蚁打的帮你赚钱
- 理财新思路:让银行为你打工
- 九个好习惯让你轻松理财
- 让CodePlex帮你管理代码
- 让UIview帮你处理圆角
- 让插件帮你优化代码
- 让大蛇(Python)帮你找工作
- 让我帮你认识Actionscript
- 职场充电:理财师认证“让你钱生钱”
- 让你不富都难的28个理财习惯
- 六大理财秘诀让你走入百万富翁行列
- 让你不富都难的28个理财习惯
- 如何让ie加载特殊的css
- 如何在IIS里对网站限速
- 跟燕十八学习PHP-第三十天-MySQL字符乱码解决
- Android音频系统散记之四:4.0音频系统HAL初探
- linux下在用户空间访问I/O端口的ioperm和iopl函数
- 让oracle帮你理财
- android学习笔记3-android项目基本目录与文件
- 逻辑右移与算术右移区别 算术右移 逻辑右移
- ANDROID2.3音频系统HAL
- ifconfig lo
- VC 拖拽文件(快捷方式文件)到控件 (源码)
- 关于JS控制代码暂停的实现方法分享
- ZOJ_1241_Geometry Made Simple
- Android ANR发生原因总结