zoukankan      html  css  js  c++  java
  • Linux:sqlplus


    [oracle@hb shell_test]$ cat echo_time #!/bin/sh 一.最简单的调用sqlplus sqlplus -S "sys/unimas as sysdba" << ! select to_char(sysdate,'yyyy-mm-dd') today from dual; exit; ! [oracle@hb shell_test]$ ./echo_time

    运行结果:

    TODAY
    ----------
    2011-03-21

    -S 是silent mode,不输出类似“SQL>”,连接数据库,关闭数据库之类的信息。

    EOF

    eof可以是任何字符串 比如"laldf"那么当你输入单独一行laldf时"shell认为输入结束,但是必须表示块开始必须使用<<;
    开始和结束要匹配这个符号“<<”后面的内容
    举例子:

    [oracle@hb shell_test]$ sqlplus -s "sys/unimas as sysdba" << abc
    > select to_char(sysdate,'yyyy-mm-dd') today from dual;
    > exit;
    > abc

    运行结果

    TODAY
    ----------
    2011-03-21

    二.sqlplus的结果传递给shell的方法一

    [oracle@hb shell_test]$ cat test2.sh 
    #!/bin/bash
    VALUE=`sqlplus -S "test/unimas" << !
    set heading off
    set feedback off
    set pagesize 0
    set verify off
    set echo off
    select to_char(sysdate,'yyyy-mm-dd') today from dual;
    exit
    !`
    echo $VALUE
    if [ -n "$VALUE" ]; then
    echo "The rows is $VALUE"
    exit 0
    else
    echo "There is no row"
    fi

    三.sqlplus的结果传递给shell的方法二

    [oracle@hb shell_test]$ cat test1.sh 
    #!/bin/bash
    sqlplus -S "test/unimas" << !
    set heading off
    set feedback off
    set pagesize 0
    set verify off
    set echo off
    col coun new_value v_coun
    select count(*) coun from lesson;
    exit v_coun
    !
    VALUE="$?"
    echo "show row:$VALUE"
    col coun new_value v_coun v_coun为number类型。因为exit 只能返回数值类型。

    四.把shell参数传递给sqlplu

    #!/bin/bash
    t_id="$1"
    sqlplus -S "test/unimas" << !
    set heading off
    set feedback off
    set pagesize 0
    set verify off
    set echo off
    select teachername from teacher where id=$t_id;
    exit
    !

    五.sqlplus的结果存储在文件中

    #!/bin/sh
    sqlplus -S "test/unimas"<<EOF
    set heading off
    set feedback off
    set pagesize 0
    set verify off
    set echo off
    spool spool_file
    SELECT * from teacher;
    spool off
    exit;
    EOF
  • 相关阅读:
    Apache虚拟主机配置(多个域名访问多个目录)(转)
    What I Learned as a Junior Developer Writing Tests for Legacy Code(转载)
    java.text包
    高性能前端框架React详解
    vue.js快速搭建图书管理平台
    vue.js用法和特性详解
    最接近原生APP体验的高性能前端框架——MUI
    用JS制作一个信息管理平台完整版
    JQuery实用技巧--学会你也是大神(1)——插件的制作技巧
    用JS制作一个信息管理平台(1)
  • 原文地址:https://www.cnblogs.com/xwb583312435/p/9002334.html
Copyright © 2011-2022 走看看