在實(shí)際的項(xiàng)目開(kāi)發(fā)中,碰到從數(shù)據(jù)庫(kù)中取數(shù)據(jù)的應(yīng)用比較多,一般的處理方法為: 寫一個(gè)取數(shù)據(jù)的.sql腳本,然后在SHELL程序中調(diào)用取得,其實(shí)這兩步可以合并為一步處理.
例如:我現(xiàn)在要將從表AA中查詢到的所有數(shù)據(jù)賦給變量a,代碼如下:(pw為已經(jīng)定義的數(shù)據(jù)庫(kù)連接)
a=`sqlplus -S $pw <
set heading off
select * from AA;
exit
EOF
`
這樣表AA中的所有數(shù)據(jù)就賦到了變量a中,但是要注意的是:所有的信息都打印成了一行.所以是否使用該方法還是老方法,這取決于個(gè)人的需要(如果只需要查一條記錄的需求時(shí),用這個(gè)可行)
例子二姐扮、
這個(gè)shell比較有趣迈套,雖然并沒(méi)有什么新的技巧校套。
它的意義在于讓我認(rèn)識(shí)到對(duì)于數(shù)據(jù)庫(kù)里的多條紀(jì)錄,可以將值分別付給shell變量,并且分別處理炫加。
[@more@]
表中的數(shù)據(jù):
SQL> select * from aa;
COL1
----------
1
2
3
shell腳本:
/export/home/deverdb/p482/scripts>cat test1
#!/usr/bin/bash
for i in `sqlplus -sedentest/edentest@perdb<
SET TERM OFF
SET FEED OFF
SET HEAD OFF
select col1 from aa;
EOF`
do
echo $i
echo haha
done
執(zhí)行結(jié)果:
/export/home/deverdb/p482/scripts>sh test1
1
haha
2
haha
3
haha