电脑技术学习

可以进行批量表删除的Informix数据库脚本

dn001
一个用于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