sqlplus输出变量到shell
来源:互联网 发布:linux如何压缩文件夹 编辑:程序博客网 时间:2024/06/10 15:19
有时因工作需要,得写一些脚本,都是shell和sqlplus混合的。
一般情况下,shell变量带入到sql脚本,比较方便,但是把sql的一些结果,输出给shell,就比较麻烦一些了。以前用的方法比较土一点,就是在sqlplus里面,spool到一个临时文件,然后在shell里面用grep,awk一类的来分析这个输出文件。后来在网上看到一篇介绍,受益匪浅啊。在此表示感谢。
http://hi.baidu.com/edeed/blog/item/291698228a5694f4d7cae2c1.html/cmtid/e87926977f74636155fb968f
我试了三种,一个是退出sqlplus时顺带返回值。这个方法有限制,只能是数字,不能是字符串。
SQL> col global_name new_value xxx
SQL> select global_name from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
XXX.XXX.XXX
SQL> exit xxx
SP2-0584: EXIT variable "XXX" was non-numeric
第二个就是直接select语句的输出。
脚本如下(test1.sh):
#!/bin/bash
VALUE=`sqlplus -S user/pass@tns <<EOF
set heading off feedback off pagesize 0 verify off echo off numwidth 4
select * from global_name;
exit
EOF`
echo $VALUE
测试结果如下:
[root@xxx tmp]# sh test1.sh
XXX.XXX.COM
[root@xxx tmp]#
第三个是定义一个变量,然后在sqlplus里面print。
脚本如下(test2.sh):
#!/bin/bash
VALUE=`sqlplus -S user/pass@tns <<EOF
set heading off feedback off pagesize 0 verify off echo off numwidth 4
var username varchar2(30)
begin
select user into :username from dual;
:username := 'username '|| :username;
end;
/
print username
exit
EOF`
echo $VALUE
测试结果如下:
[root@xxxtmp]# sh test2.sh
username USER_A
[root@xxxtmp]#
- sqlplus输出变量到shell
- shell命令输出到变量
- shell把输出保持到变量中
- SQLPLUS 向SHELL传递变量
- Oralce SQLPlus 以及shell脚本中spool输出到文件时的格式化输出
- Oralce SQLPlus 以及shell脚本中spool输出到文件时的格式化输出
- 在shell中调用sqlplus输出sql执行结果到指定文件
- Oracle Script-Shell调用SQLplus输出结果
- Oracle中sqlPlus -oracle 输出变量
- Oracle中sqlPlus -oracle 输出变量
- Linux Shell输出命令结果到脚本变量中
- spool sqlplus输出结果到文件
- Oracle之sqlplus输出到html
- sqlplus中输出到文件中
- oracle---sqlplus搜索结果输出到文件
- Unix Shell编程——将命令输出结果保存到变量中
- 用sqlplus只输出数据到文本文件的实例
- sqlplus 如何显示输出到控制台的结果
- Spring2.5 基于AspectJ风格的AOP问题
- 微软承认MSN聚酷有代码抄袭 责任在中国外包商!
- zz vivi开发笔记(九):SDRAM实验
- 关于文件类型关联的那些事
- 传戴尔明年推Android平板电脑
- sqlplus输出变量到shell
- javascript 字符串处理全攻略
- Javascript中最常用的55个经典技巧【转载】
- 时间
- 读《程序员的自我修养》——2
- 平衡二叉树的建立
- [转]2009年上海四金和个税计算方法
- ASP.net控件分类
- struts中上传文件-FormFile应用