有人可以幫我嗎? 看起來我在設置變量中設置了正確的值,但它返回了很多東西。請看下圖:如何僅使用set變量返回sqlplus中的值?
################################
# Main
################################
RETVAL=`sqlplus user/[email protected] <<EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SELECT process_id, source, destination, type FROM table WHERE process_id IN ('12311','12322');
EXIT;
EOF`
if [ -z "$RETVAL" ]; then
echo "No rows returned from database"
exit 0
else
echo $RETVAL
fi
輸出是:
的SQL * Plus:釋放9.2.0.8.0 - 於星期四6月27日19點37分39秒2013版權所有(C)1982年,2002年,甲骨文公司生產。版權所有。連接到:Oracle Database 11g企業版版本11.2.0.2.0 - 使用分區,OLAP,數據挖掘和實際應用程序測試選項生成64位SQL> SQL> 12311,AAA BBB,2 12322,AAA BBB,5 SQL>斷開連接Oracle數據庫11g企業版發佈11.2.0.2.0 - 64位生產有了分區,OLAP,數據挖掘和實時應用測試選項
我只是想:
12311,AAA,BBB,2, 12322 ,AAA,BBB,5,
*逗號也是不對的
user/pass @ DB的值可以用變量替換嗎?是否有可能有$ user/$ pass @ $ dbname呢? –
也在sql裏面可以有更多的變量嗎?像FROM table WHERE process_id IN - > from table @ $ dblinkname這可能嗎? –