我正在开发 Solaris 环境,我使用的数据库是 Oracle 10g。
我正在尝试的骨架;
编写一个 ksh 脚本来执行以下操作。我不知道如何在 shell 脚本中包含我的 sql 查询并循环遍历这些语句。因此,在下面给出了我正在尝试的内容。
复制要处理的文件(一次一个文件,从文件夹中的 10 个文件的列表中)。
for i in * do cp $i /home/temp
2. 创建快照(n)表:初始化 n = 1
create table test insert account_no, balance from
records_all;
-- 创建我的快照表并在 SQL 中插入记录
- 检查表是否创建成功:
select count(*) from snapshot1
-- 查询表中的记录数 -- 总是固定的,比如 400000
if( select count(*) from snapshot(n) = 400000 )
echo " table creation successful.. proceed to the next step "
else
echo " problem creating table, exiting the script .. "
如果建表成功,
echo " select max(value) from results_all " -- 将最大值打印到控制台
使用以下作业处理我的文件:
./runscript.ksh - READ -i $m
( m - 初始值 001 )
./runscript.ksh - WRITE -i $m
( m - 初始值 001 -- 与 READ process_id 相同)
-- 将 m 加 1
等待成功日志
尾 -f 日志($m)* | -egrep "^成功"
循环到第 1 步到:将文件 2 复制到临时文件夹;创建快照(n+1)表
复制完所有文件进行处理后退出。
done
-- 步骤 1 结束
让我动起来的指针将非常有价值。
谢谢,
克里斯