天天看點

Shell_Shell調用SQLPlus簡介(案例)

2014-06-20  Created By BaoXinjian

一、摘要

如果在Oracle EBS中開發Unix Shell,必定會涉及到在Shell中調用PLSQL,在Shell調用PLSQL一般是通過SQLPlus這個工具

關于SQLPlus需明白SQLPlus的登入方式和常用指令,具體的在另文介紹SQLPlus的用法

1. SQLPlus的登入方式

sqlplus [ [<option>] [<logon>] [<start>] ]

           <option> 為: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]

-C <version>     将受影響的指令的相容性設定為<version> 指定的版本。該版本具有"x.y[.z]" 格式。例如, -C 10.2.0

-L                      隻嘗試登入一次, 而不是在出錯時再次提示。

-M "<options>"  設定輸出的自動 HTML 标記。選項 的格式為:HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text] [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]

-R <level>         設定受限模式, 以禁用與檔案系統互動的,SQL*Plus 指令。級别可以是 1, 2 或 3。最高限制級别為 -R 3, 該級别禁用與檔案系統互動的所有使用者指令。

-S                     設定無提示模式, 該模式隐藏, 指令的 SQL*Plus 标幟, 提示和回顯的顯示。

2. 登入SQLPlus的基本指令

SQL> show all --檢視所有68個系統變量值

SQL> show user --顯示目前連接配接使用者

SQL> show error   --顯示錯誤

SQL> set heading off --禁止輸出列标題,預設值為ON

SQL> set feedback off --禁止顯示最後一行的計數回報資訊,預設值為"對6個或更多的記錄,回送ON"

SQL> set timing on --預設為OFF,設定查詢耗時,可用來估計SQL語句的執行時間,測試性能

SQL> set sqlprompt "SQL> " --設定預設提示符,預設值就是"SQL> "

SQL> set linesize 1000 --設定螢幕顯示行寬,預設100

SQL> set autocommit ON --設定是否自動送出,預設為OFF

SQL> set pause on --預設為OFF,設定暫停,會使螢幕顯示停止,等待按下ENTER鍵,再顯示下一頁

SQL> set arraysize 1 --預設為15

SQL> set long 1000 --預設為80

3. SQLPlus文法

文法結構與PLSQL基本一緻,略過

二、案例

1. 最簡單Shell調用SQLPlus的方法

Step1. 代碼

Step2. 執行

>. ./bxjshellsql1.sh

Step3. 結果

2.1 把SQLPlus中的值傳遞給Shell方法一

>. ./bxjshellsql2.sh

2.2 把SQL Plus中的值傳遞給Shell方法二

>. ./bxjshellsql3.sh

3. 把Shell中的值傳遞給SQLPlus

Step1.  代碼

>. ./bxjshellsql4.sh

Thanks and Regards

參考: 網絡資料http://www.blogjava.net/xzclog/archive/2010/04/01/317151.html

<b>ERP技術讨論群: 288307890</b>

<b>技術交流,技術讨論,歡迎加入</b>

<b>Technology Blog Created By Oracle ERP - 鮑建立</b>