shell批量添加Oracle字段,学习随笔(一):Shell脚本批量导入数据到Oracle数据库...

#!/bin/sh

#

# @test.sh

# @文件数据导入oracle

# @version 1.0

TABLE="T_RECO"

if [ $# -ne 1 ]; then

echo $0 DATAFILE

echo

exit 2

fi

data=$1

while read line;

do

query=`echo $line | awk 'BEGIN{FS="\03"}{

printf("'\''%s'\'','\''%s'\'','\''%s'\'','\''", $1, $2, $3);

if ($4 == "1") {

printf("123456\&'\''\|\|'\''我最伟大\&'\''\|\|'\''%s\|",$9)

};

if ($5 == "1") {

printf("234567\&'\''\|\|'\''我最渺小\&'\''\|\|'\''%s\|",$10)

};

if ($6 == "1") {

printf("345678\&'\''\|\|'\''我最厉害\&'\''\|\|'\''%s\|",$11)

};

if ($7 == "1") {

printf("456789\&'\''\|\|'\''我最牛逼\&'\''\|\|'\''%s\|",$12)

};

if ($8 == "1") {

printf("567890\&'\''\|\|'\''我最无语\&'\''\|\|'\''%s\|",$13)

};

printf("'\'','\''%s'\'','\''%s'\'','\''%s'\''", $14, $15, $16)}'`

statement=`echo "INSERT INTO $TABLE(MONTH,CODE,ID,INFO,R_ID,TUDE,ITUDE) VALUES($query);"`

echo $statement >>sql.txt

done < $data

sqlplus test/test@XX.XX.XX.XX:1521/db<

@sql.txt

commit;

exit

EOF

if [[ $? -eq 0 ]]; then

echo "Wrote data into DB"

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值