OceanBase 數據庫兼容了大部分 Oracle 數據庫的 PL 功能,主要支持的 PL 功能如下:
數據類型
流程控制
集合與記錄(暫不支持多維度集合)。
靜態 SQL
動態 SQL
子過程
觸發器
異常處理
程序包
性能優化
自定義數據類型
PL 系統包,包括 DBMS_CRYPTO、DBMS_DEBUG、DBMS_LOB、DBMS_LOCK、DBMS_METADATA、DBMS_OUTPUT、DBMS_RANDOM、DBMS_SQL、DBMS_XA、UTL_I18N、UTL_RAW 等。
PL 標簽安全包,包括 SA_SYSDBA、SA_COMPONENTS、SA_LABEL_ADMIN、SA_POLICY_ADMIN、SA_USER_ADMIN、SA_SESSION 等。
OceanBase 數據庫暫不支持如下 PL 功能:
條件編譯
PL 簡介
PL 是一種過程化程序語言(Procedural Language,PL)。它是對 SQL 的擴展,在普通 SQL 語句的基礎上增加了編程語言的特點,把數據操作和查詢語句組織在 PL 代碼的過程化代碼中,通過邏輯判斷、循環等操作實現復雜的功能。
使用 PL 可以編寫具有很多高級功能的程序,能夠把業務邏輯封裝在數據庫內部,提供更好的抽象性和安全性,同時減少了網絡的交互,調用速度更快,從而提升整體性能。