Oracle sqlplus 和 Linux Shell的相互传值

首先,写一个简单的PLSQL函数,就是简单返回一个拼凑的URL值

create or replace function getAttURL
(hostname in varchar2,attID in varchar2)
return varchar2 is
Result varchar2(255);
objID integer;
begin
SELECT objectid INTO objID FROM jiveAttachment WHERE ATTACHMENTID = attID;
Result := 'http://'||hostname||'/servlet/JiveServlet/download/'||objID||'-'||attID||'/';
return(Result);
end getAttURL;


备注一下sqlplus的set命令:

SQL>set colsep' ';     //-域输出分隔符

SQL>set echo off;     //显示start启动的脚本中的每个sql命令,缺省为on

SQL> set echo on //设置运行命令是是否显示语句

SQL> set feedback on; //设置显示“已选择XX行”

SQL>set feedback off;  //回显本次sql命令处理的记录条数,缺省为on

SQL>set heading off;   //输出域标题,缺省为on

SQL>set pagesize 0;   //输出每页行数,缺省为24,为了避免分页,可设定为0。

SQL>set linesize 80;   //输出一行字符个数,缺省为80

SQL>set numwidth 12;  //输出number类型域长度,缺省为10

SQL>set termout off;   //显示脚本中的命令的执行结果,缺省为on

SQL>set trimout on;    //去除标准输出每行的拖尾空格,缺省为off

SQL>set trimspool on;   //去除重定向(spool)输出每行的拖尾空格,缺省为off

SQL>set serveroutput on; //设置允许显示输出类似dbms_output

SQL> set timing on; //设置显示“已用时间:XXXX”

SQL> set autotrace on-; //设置允许对执行的sql进行分析

SQL> set verify off //可以关闭和打开提示确认信息old 1和new 1的显示.




#!/bin/bash
#author:FM
#date:2009-02-03
#This script will test get correct URL FROM attachmentID
#
attURL=$(sqlplus -s 'clsp/clsp@orcl'<<\EOF
set pages 0 feed off
set heading off;
set feedback off;
set verify off; //这个
set linesize 1000;
define hostname_str = "bocc-qa.test.locala/bocc";
define attID = "1118";
SELECT getAttURL('&hostname_str','&attID') FROM dual;
EOF
)
echo $attURL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值