美文网首页
在SHELL中直接读取数据库中的值赋给变量解决方法【转】

在SHELL中直接读取数据库中的值赋给变量解决方法【转】

作者: Always_Gooner | 来源:发表于2017-05-18 20:36 被阅读0次

    在实际的项目开发中,碰到从数据库中取数据的应用比较多,一般的处理方法为: 写一个取数据的.sql脚本,然后在SHELL程序中调用取得,其实这两步可以合并为一步处理.

    例如:我现在要将从表AA中查询到的所有数据赋给变量a,代码如下:(pw为已经定义的数据库连接)

    a=`sqlplus -S $pw <

    set heading off

    select * from AA;

    exit

    EOF

    `

    这样表AA中的所有数据就赋到了变量a中,但是要注意的是:所有的信息都打印成了一行.所以是否使用该方法还是老方法,这取决于个人的需要(如果只需要查一条记录的需求时,用这个可行)

    例子二、

    这个shell比较有趣,虽然并没有什么新的技巧。

    它的意义在于让我认识到对于数据库里的多条纪录,可以将值分别付给shell变量,并且分别处理。

    [@more@]

    表中的数据:

    SQL> select * from aa;

    COL1

    ----------

    1

    2

    3

    shell脚本:

    /export/home/deverdb/p482/scripts>cat test1

    #!/usr/bin/bash

    for i in `sqlplus -sedentest/edentest@perdb<

    SET TERM OFF

    SET FEED OFF

    SET HEAD OFF

    select col1 from aa;

    EOF`

    do

    echo $i

    echo haha

    done

    执行结果:

    /export/home/deverdb/p482/scripts>sh test1

    1

    haha

    2

    haha

    3

    haha

    相关文章

      网友评论

          本文标题:在SHELL中直接读取数据库中的值赋给变量解决方法【转】

          本文链接:https://www.haomeiwen.com/subject/ukcexxtx.html