繁體
  • 简体中文
  • 繁體中文

熱門資訊> 正文

優炫數據庫:全面兼容主流數據庫,平滑替換Oracle

2024-06-28 13:55

編者按:優炫數據庫UXDB—面向未來的的智能數據庫,全面兼容Oracle、MySQL等主流數據庫,在本文中我們將介紹UXDB對Oracle的兼容性,並通過示例詳細介紹PL/SQL(過程化SQL語言)方面的完全兼容性,為廣大的用户、合作伙伴以及優炫數據庫的愛好者提供參考。

 

客户應用系統需要什麼樣的數據庫呢?總的説來,有兩大方面,一是好用,二是易用。好用主要體現在數據庫的功能上,應用系統所需要的功能都能提供,並且隨着業務的發展,應用系統需要升級改造,對數據庫提出更多要求,如果數據庫還能不斷滿足這些業務需求,我們認為這是一個好用的數據庫產品,放眼國內外,能達到這個要求的數據庫非常少,Oracle當之無愧算是好用的數據庫產品,隨着在實際場景下的不斷打磨,Oracle數據庫提供了全面、豐富的功能,如層次查詢、行轉列/列轉行等,Oracle是比較早提供這些功能的數據庫。易用主要體現在數據庫所提供的工具上,包括管理工具、開發工具、運維及監控工具、數據庫遷移及數據同步工具等,這些工具的界面簡潔、友好;工具的使用方法合理、直觀;操作步驟上既對普通用户提供最簡化的方式、降低使用門檻,又可對高級用户提供更多的選項;界面上能設置缺省值的全部有缺省值,能從列表中選擇的就不用輸入,不好設置缺省值和選擇項的會有填寫格式的説明,這樣用户使用起來就會容易的多,且不易出錯,大幅提升數據庫管理和運維的效率。

優炫軟件始終致力於為各行業客户提供好用、易用的數據庫產品,對標Oracle數據庫。去年在DTCCC數據庫技術大會上隆重推出共享存儲多寫多讀集羣數據庫,滿足核心業務系統對高可用、高性能、高彈性數據庫的需求。同時,優炫軟件一直在數據庫的兼容性、數據庫工具的易用性上持續投入、不斷打磨,目前的優炫數據庫全面兼容Oracle、MySQL等主流數據庫、提供全面且易用的數據庫工具。

在本文中,我們將重點介紹優炫數據庫的兼容性,后續將介紹優炫數據庫的易用性。優炫數據庫高度兼容Oracle、MySQL等主流數據庫,今天我們重點來看一下對Oracle數據庫的兼容。優炫數據庫對Oracle數據庫的兼容主要有以下幾個方面:

  • 數據類型(如:NUMBER、VARCHAR2等等)

  • SQL語法(如:WITH FUNCTION、KEEP FIRST/LAST等等)

  • 系統函數(如:NVL函數RATIO_TO_REPORT窗口函數REGEXP_LIKE函數等等)

  • 系統包(如:DBMS_OUTPUTDBMS_SQLDBMS_JOB等等)

  • 功能(如:同義詞、DBLINK、層次查詢、間隔分區等等)

  • 接口(如:OCI、Pro*C等等)

  • 系統視圖(如:DBA_視圖、USER_視圖、ALL_視圖等等)

  • PL/SQL(如:自定義存儲過程、自定義函數、自定義觸發器、自定義Package等)

其中的PL/SQL(過程化SQL語言)對應用系統是非常重要的,PL/SQL有非常高的便利性和高效性,便利性主要體現在:將業務邏輯封裝在自定義存儲過程、自定義函數或自定義包中,當業務邏輯發生變化時,只需要重新建立存儲過程、函數或包,應用系統不需要進行修改和升級等操作;高效性主要體現在:當業務邏輯比較複雜,需要和數據庫多次交互時,如銀行的貸款業務,需要查詢身份信息、歷史存取款等信息,然后進行貸款操作,可以將這些操作通過一個存儲過程在數據庫服務器端一次來完成,從而提升業務處理的效率。因此,我們看到有大量的應用系統通過數據庫的自定義存儲過程、自定義函數、自定義包,來實現業務功能。

下面我們通過自定義存儲過程、自定義函數、自定義觸發器、自定義Package,來看一下優炫數據庫對Oracle的兼容性。

自定義存儲過程

下面完全按照Oracle的SQL語法創建存儲過程,可以在優炫數據庫上成功創建,並且執行結果與Oracle完全相同:

(1)創建測試表Customers:

創建測試表:Customers

(2)創建存儲過程Pro_Customers_Insert用於向表中插入數據

 創建存儲過程:Pro_Customers_Insert

(3)執行存儲過程,並查詢表中的記錄數量、顯示錶中的最后5條記錄:

執行存儲過程,並查詢表中的記錄數量、顯示錶中最后5條記錄

大家可以看到,上面顯示錶中最后5條記錄的分頁查詢的SQL語法,也與Oracle完全兼容。

自定義函數

下面完全按照Oracle的SQL語法創建函數,可以在優炫數據庫上成功創建,並且執行結果與Oracle完全相同:

(1)創建函數position_test:

創建函數:position_test

(2)調用函數position_test:

調用函數:position_test

自定義觸發器

下面完全按照Oracler的SQL語法創建觸發器,可以在優炫數據庫上成功創建,並且執行結果與Oracle完全相同:

(1)創建測試表

創建測試表:tb01、tb02

(2)創建觸發器:

創建觸發器tri_tb01

(3)向表tb01中增加和更新數據,測試tb02表中是否通過觸發器增加和更新了數據

測試觸發器的執行效果

從上面的結果可以看出,向表tb01中增加和更新數據時,通過觸發器分別向表tb02增加和更新了數據,觸發器實現了預期的效果,並且與Oracle完全兼容。

自定義Package

下面完全按照Oracle的SQL語法創建Package,可以在優炫數據庫上成功創建,並且執行結果與Oracle完全相同:

(1)創建測試表

創建測試表:Customers

(2)創建Package

創建Package:package_01

(3)創建Package Body:

創建Package Body:package_01

(4)調用package:

上面這個Package將前面示例中的自定義存儲過程、自定義函數進行了封裝,實現的功能與單獨的自定義存儲過程、自定義函數是相同的,通過Package進行統一管理,會更方便些。

上面介紹了UXDB對Oracle的兼容性,並通過示例詳細介紹了PL/SQL(過程化SQL語言)方面的完全兼容性,為我們的用户和合作夥伴提供參考。各位用户和合作夥伴在使用優炫數據庫的過程中,若遇到兼容性及其他方面的問題,歡迎為我們提供反饋或建議,聯繫郵箱是:

關於優炫軟件

北京優炫軟件股份有限公司(以下簡稱:優炫軟件)成立於2009年,專注於數據庫及周邊工具的研發、銷售和服務,不斷攻克關鍵技術,提供面向未來的智能數據庫產品,是國產數據庫領軍企業,信創產業領域四梁八柱企業。優炫軟件堅持關鍵核心技術自主創新,獲得國家發明專利、軟件著作權、公司及產品資質榮譽累計1000余項,設立北京、武漢、成都、西安四大研發中心和分佈於全國的30余家分支機構,廣泛服務於政府、金融、軍工、能源、醫療、教育等關係國計民生的重大核心領域,成功入圍中海油、大唐集團、重慶國資委、雲上貴州、大連銀行、軍隊等眾多戰略行業及客户,穩健高效支撐第七次全國人口普查等國家級重點項目,為國家信息安全提供關鍵技術支撐。

-FIN-

(優炫軟件)

風險及免責提示:以上內容僅代表作者的個人立場和觀點,不代表華盛的任何立場,華盛亦無法證實上述內容的真實性、準確性和原創性。投資者在做出任何投資決定前,應結合自身情況,考慮投資產品的風險。必要時,請諮詢專業投資顧問的意見。華盛不提供任何投資建議,對此亦不做任何承諾和保證。