当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux命令

把SQL查询结果赋给shell变量

文章标题:把SQL查询结果赋给shell变量。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  最近在看《基于Linux的Oracle数据库管理》这本书,根据书上的示例写的shell脚本,

  #!/bin/bash

  VALUE=`sqlplus -silent /nolog <

  conn scott/tiger

  set pagesize 0 feedback off verify off heading off echo off numwidth 4

  select count( * ) coun from all_objects;

  exit;

  END`

  if [ "$VALUE" -gt 0 ]

  then

  echo "The number of rows is $VALUE."

  exit 0

  else

  echo "There is no row in the table."

  fi

  在执行时总报错误:

  ./sqlshell.sh: line 9: [: ####: integer expression expected

  书上写的应该没错,查找原因,看了一上我机器上的查询结果是:40620

  应该是显示的位宽不够,所以"$VALUE"值变成了一个错误的值。

  把numwidth 4 改成为 numwidth 5

  就能正确执行了。

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有