File Utility Program 的缩写
简称FUP,非常强大的文件管理工具。
可以参考File Utility Program (FUP) Reference Manual
或本blog的其它文章:tag->FUP
关于什么是结构化文件,可以参考本地其它文件,tag NSK
先看看表的结构:
(前面的小横线是FUP的提示符)
-info table1,detail
...
TYPE K
...
REC 28
...
KEY ( COLUMN 0, OFFSET 0, LENGTH 4, ASC )
...
table1是一个表,在NSK中基本上就是一个文件,REC 28表示每个记录的最大长度,KEY是第一个列,offset为0,长度是4,为int型。
-create fupfile,type k,rec 28,keyoff 0,keylen 4
CREATED -FUPFILE
创建这个文件,参数也很简单。
然后启动Sqlci,准备往刚才生产的文件里面装东西
>>select * from table1;
ID U_NAME AGE DEPTNO
----------- -------------------- ------ ------
1 liubin 11 101
3 liubin 11 4
4 best 11 20
5 fast 11 624
--- 4 row(s) selected.
>>load table1,fupfile;
File Name Reads/Writes
TABLE1 4
FUPFILE 4
>>delete from table1;
--- 4 row(s) deleted.
>>fc se
>>select * from table1;
..
--- 0 row(s) selected.
>>alter table table1 no audit;
--- SQL operation complete.
>>load fupfile,table1;
File Name Reads/Writes
TABLE1 4
FUPFILE 4
>>fc s
>>select * from table1;
..
ID U_NAME AGE DEPTNO
----------- -------------------- ------ ------
1 liubin 11 101
3 liubin 11 4
4 best 11 20
5 fast 11 624
--- 4 row(s) selected.
>>
>>alter table table1 audit;
--- SQL operation complete.
>>exit
上面的操作就是从table1里把数据导入文件,然后删掉table1的数据,最后再从文件导入table1。
再看看生产的fupfile文件把。
还是用FUP,不过这次是直接在TACL的命令行下把所有命令输完,而不是先进入的FUP再运行命令了。
$HIN 16:54 128> fup copy fupfile ,,h
FUPFILE RECORD 0 LEN 28 11JUN07 16:55
000: 0000 0001 6C69 7562 696E 2020 2020 2020 ....liubin
008: 2020 2020 2020 2020 000B 0065 ...e
FUPFILE RECORD 1 LEN 28
000: 0000 0003 6C69 7562 696E 2020 2020 2020 ....liubin
008: 2020 2020 2020 2020 000B 0004 ....
FUPFILE RECORD 2 LEN 28
000: 0000 0004 6265 7374 2020 2020 2020 2020 ....best
008: 2020 2020 2020 2020 000B 0014 ....
FUPFILE RECORD 3 LEN 28
000: 0000 0005 6661 7374 2020 2020 2020 2020 ....fast
008: 2020 2020 2020 2020 000B 0270 ...p
4 RECORDS TRANSFERRED
$HIN 16:55 129>