程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle數據庫中從sql*plus向shell進行傳遞變量

Oracle數據庫中從sql*plus向shell進行傳遞變量

編輯:Oracle數據庫基礎

Oracle數據庫中如何從sql*plus向shell進行傳遞變量?在實際的操作中很多的人都遇到這樣的相關難題,即,不能使sqlplus向shell傳遞變量,以下我們就來介紹一個實例腳本來進行折中處理。

  1. [Oracle@jumper Oracle]$ cat a.sh  
  2. sqlplus -S "/ as sysdba" << !  
  3. set heading off  
  4. col today noprint  
  5. column today new_val dat  
  6. select to_char( sysdate, 'yyyy-mm-dd') today from dual;  
  7. host echo 'today is ' &dat  
  8. exit;  
  9. exit;  
  10. !  
  11. [Oracle@jumper Oracle]$ ./a.sh  
  12. today is 2005-04-11  
  13. [Oracle@jumper Oracle]$  

下面我們再來介紹另一個實例方法:

  1. [Oracle@jumper Oracle]$ more a.sh  
  2. #!/bin/ksh  
  3. VALUE=`sqlplus -silent "/ as sysdba" < < END 
  4. set pagesize 0 feedback off verify off heading off echo off  
  5. select max(sequence#) from v\\\$log_history;  
  6. exit;  
  7. END`  
  8. if [ -z "$VALUE" ]; then  
  9. echo "No rows returned from database"  
  10. exit 0  
  11. else  
  12. echo "Max Sequence Number: $VALUE"  
  13. fi  
  14. [Oracle@jumper Oracle]$ ./a.sh  
  15. Max Sequence Number: 17   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved