首页 文章

如何使用set变量返回sqlplus中的值?

提问于
浏览
-1

有人可以帮我吗?看起来我在设置变量中设置了正确的值,但它返回了很多东西 . 见下文:

################################
# 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> SQL> 12311,AAA BBB,2 12322,AAA BBB,5 SQL>断开连接Oracle Database 11g企业版11.2.0.2.0版 - 64位 生产环境 使用分区,OLAP,数据挖掘和实际应用程序测试选项

我只是想:

12311,AAA,BBB,2,12322,AAA,BBB,5,

*逗号也不对

1 回答

  • 1

    使用sqlplus的-s选项来压缩:

    sqlplus -s user/pass@DB
    

相关问题