如何用簡易方法尋找Oracle版本資訊

來源:互聯網
上載者:User

當一個應用軟體要分發給顧客時——或者甚至是同一個公司的多個地點時——就會出現版本問題。如果所設計的程式要用到Oracle某個特定版本的具體特性時,那麼當在早期的版本中運行時,就會失敗。

檢查版本資訊的一種方法就是選擇動態效能查看錶V$VERSION。它輸出一組標題似的文字,指明Oracle的版本和各種組件的發布層級。但是,要解析這個輸出是非常繁瑣的。

當Oracle 9i Release 2被引入之後,它包括了一個被稱作DBMS_DB_VERSION的新的PL/SQL資料包,使得版本的檢查變得更簡單了。這個資料包中沒有程式或函數,僅有一系列您可以查詢,從而確定當前運行版本有用的常數。

在這個資料包中,最簡單的兩個常數是VERSION和RELEASE。以10gR2為例,在SQL*Plus中執行以下命令,將會返回數字10:

SET SERVEROUT ON
EXEC DBMS_OUTPUT.PUT_LINE (DBMS_DB_VERSION.VERSION);

其他的常數都是邏輯值,它們表明了當前運行版本是否比某個具體的截止版本老,或者是相同的。只需要簡單地測試一下適當的邏輯值,而無需通過提取版本、發布資訊和編寫邏輯來檢查:

BEGIN
IF (DBMS_DB_VERSION.VER_LE_9_2) THEN
DBMS_OUTPUT.PUT_LINE ('Oracle 10g is required.');
ELSE
DBMS_OUTPUT.PUT_LINE ('Version check successful.');
END IF;
END;
/

引入這個特性主要是為了在PL/SQL中支援有條件的編輯。以這些常數為基礎,您可以為您的PL/SQL代碼指定不同的資料類型或者避免使用未實現的特性。

作者:Bob Watkins (OCP, MCDBA, MCSE, MCT) is a computer professional with 25 years of experience as a technical trainer, consultant, and database administrator.

(

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.