和以前自动ftp,load data的那个shell相比,没有多大长进。只有两点新东西[@more@]
1)从数据库检索数据,赋值给shell变量(注意 -s 参数)
LOG_ROWS=`sqlplus -s $USERNAME/$PASSWORD@$DATABASE<
SET FEED OFF
SET TERM OFF
SET HEAD OFF
SELECT count(*)
FROM refresh_log
WHERE user_name='$USERNAME'
AND obj_name='$TABLE_NAME';
EOF`
2)截掉字符串的最后一串。比如将 eden_flat_ord_cmpt_fr.sql 截为 eden_flat_ord_cmpt
>aaa='aa_bb_cc_dd_ee.sql'
>echo ${aaa%_*}
aa_bb_cc_dd
该shell位于~p482/script目录下,调用~p482/sql目录下的sql文件更新表中的数据
shell脚本:
#####################################################################
#
# Purpose: This script is to refresh tables, and log refresh
#information both in table and OS file
#
# Usage: refresh_table FILE_NAME
<