一个用于Informix数据库批量删除临时表的脚本:
#!/bin/csh
if ($#argv != 1 ) then
echo "Usage:csh deltmp.sh [dbname]";
exit(0);
else if ($#argv == 1 ) then
set dbname="$argv[1]";
endif
rm deltmp*.sql
echo "now load tmp table to deltmp.sql"
dbaccess $dbname <<EOF
unload to "deltmp.sql"
select tabname from systables where tabname like "tmp%" and created < extend(current,year to day)
EOF
echo "load finish"
echo "| -->; ;"
sed 's/|/;/w deltmp1.sql' deltmp.sql
echo "tmp -->; drop table tmp"
sed 's/tmp/drop table tmp/w deltmp2.sql' deltmp1.sql
echo "delete temp table"
dbaccess $dbname deltmp2.sql
echo "delele temp files"
rm deltmp*.sql