有人可以帮我吗? 看起来我在设置变量中设置了正确的值,但它返回了很多东西。见下文:
################################
# Main
################################
RETVAL=`sqlplus user/pass@DB <<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 - 生产于2013年6月27日星期四19:37:39版权所有(c)1982,2002,Oracle Corporation。版权所有。连接到:Oracle Database 11g企业版11.2.0.2.0版 - 64位生产使用分区,OLAP,数据挖掘和实际应用程序测试选项SQL&gt; SQL&GT; 12311,AAA BBB,2 12322,AAA BBB,5 SQL&gt;断开与Oracle Database 11g企业版11.2.0.2.0版 - 64位生产与分区,OLAP,数据挖掘和实际应用程序测试选项
我只想:
12311,AAA,BBB,2, 12322,AAA,BBB,5,
*逗号也不正确
答案 0 :(得分:2)
使用sqlplus的-s选项来抑制:
sqlplus -s user/pass@DB