2013-06-28 50 views
-1

有人可以幫我嗎? 看起來我在設置變量中設置了正確的值,但它返回了很多東西。請看下圖:如何僅使用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,

*逗號也是不對的

+0

user/pass @ DB的值可以用變量替換嗎?是否有可能有$ user/$ pass @ $ dbname呢? –

+0

也在sql裏面可以有更多的變量嗎?像FROM table WHERE process_id IN - > from table @ $ dblinkname這可能嗎? –

回答

相關問題