將跨庫存取細節隱藏,對外提供統一、簡單的資料介面,使用者無需關心物理儲存位置。
CREATE OR REPLACE VIEW v_ora_sql_emp AS
SELECT empno AS ora_empno,
(#sqlserver SELECT ename FROM emp WHERE empno=&empno&) AS sql_ename
FROM (#Oracle SELECT * FROM emp WHERE ROWNUM < 5)
使用者直接 SELECT * FROM v_ora_sql_emp 即可取得融合資料。
視圖定義可為程式區塊,支援複雜流程控制。
為遠端函數建立別名:
CREATE SYNONYM PUBLIC.substring FOR substring@sqlserver

之後直接呼叫 substring('hgsql',2,2),引擎自動轉向 SQL Server。
CREATE PROCEDURE substring(p_str, p_start, p_count) AS
substring@sqlserver(p_str, p_start, p_count);
加入參數驗證:
CREATE OR REPLACE PROCEDURE substring(p_str, p_start, p_count) AS
BEGIN
IF p_start IS NULL THEN
RAISE 'p_start is null';
END IF;
substring@sqlserver(p_str, p_start, p_count);
END
傳入 NULL 時拋出自訂錯誤。
建立邏輯目錄組織跨庫物件:
CREATE DIRECTORY //mytable
ALTER DIRECTORY //mytable ADD ITEM ora_emp FOR Oracle.emp
ALTER DIRECTORY //mytable ADD ITEM ora_sql_emp FOR v_ora_sql_emp
ALTER DIRECTORY //mytable ADD ITEM ora_tab FOR user_tables@Oracle
ALTER DIRECTORY //mytable ADD ITEM sql_emp FOR sqlserver.emp

透過路徑存取:SELECT * FROM //mytable/ora_sql_emp。

CREATE DIRECTORY //mytable/@Oracle
自動展開 Oracle 所有 Schema 為子目錄。

直接查詢:SELECT * FROM //mytable/@Oracle/system/help。
SQLHub 以 SQL 為統一介面,透過視圖/同義詞/程序/目錄四層封裝,將 Oracle、SQL Server 等異構資料源整合為單一虛擬資料庫,支援 XML、Excel、HTML 等非關聯源,構建企業級資料服務總線。