2010-03-18 39 views
1

我需要在每次使用Oracle SQLplus命令行程序時設置一些SET選項,例如SET HEADING OFF和喜歡美化我的結果。 我發現我總是要分別輸入每一行,所以設置不同的選項,這變得很煩人,因爲我需要每天訪問它很多次。Oracle SqlPlus命令行:有沒有連接設置選項的方法?

我發現沒有辦法對不同SET命令用分號分隔,因爲它不接受它:

SET HEADING OFF; SET LINESIZE 100; 

返回一個錯誤

一個解決方案,可以將其添加到控制腳本和創建一個shell別名,但我知道控制腳本執行,然後退出,並不會讓你控制命令行。

那麼,有人知道另一種解決方案?或者我錯過了什麼?

回答

1

將所有命令放入「.sql」文件(例如「format.sql」),然後在Sql * plus中使用「@」命令(例如「@format」)執行它們。

請注意,查找命令文件時默認爲「.sql」後綴。

例如,如果「format.sql」包含的命令「設置LINESIZE 100」和「設置頁面大小0」:

% sqlplus 

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 18 08:39:03 2010 
Connected to: 
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production 
SQL> show linesize 
linesize 80 
SQL> @format 
SQL> show linesize 
linesize 100 
SQL> select 1+1 from dual; 
    2 
+0

我需要的僅僅是設置選項,我執行手工查詢,然後,如果我把它們放在一個sql文件中,並使用「@」,然後我不會得到一個命令行回到輸入查詢。 – OverLex 2010-03-18 12:32:04

+0

真的嗎?這對我來說一直很好 - 只需在SQL>提示符下運行「@」命令,並且當命令文件完成時(SQL將在我的答案中編輯一個示例)時,您將停留在SQLPlus中 – 2010-03-18 12:43:00

+0

很棒,它可以工作,所以兩者都可以作品:我和你的,投票你回答我的具體問題:)謝謝 – OverLex 2010-03-22 14:42:12

2

好吧,回答我的問題:apprently就可以做到這一點:

SET HEADING OFF LINESIZE 100 PAGESIZE 0 xxx xxx 

,並繼續添加規則,一個與他們來了。

這是一個簡單而有效的解決方案。