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