Sybase ASE 15には、次のようなデータベーススキーマのセットがあります。
スキーマS1:
CREATE TABLE T1 (T1KEY INT)
スキーマS2:
CREATE TABLE T2 (T2KEY INT, T1FK INT)
T2のT1FKは、基本的にFKからT1のT1KEY列です(実際のデータベースビジネスルールでは強制されませんが、値は一致します)。
Sybaseでは、次のようにこれらのスキーマ間で結合を実行することが合法です。
SELECT a.T1KEY, b.T2KEY
FROM S1..T1 a
LEFT OUTER JOIN S2..T2 AS b ON (a.T1KEY = b.T1FK)
この構文をサポートする組み込みデータベースはまだ見つかりません。DerbyとHSQLDBはどちらもダブルドット構文に抵抗しているようで、たとえば、その構文がに置き換えられた場合でもS1.dbo.T1
、どちらのDBも問題ありません。MyBatis 3.1.1を使用してクエリを実行しています。これは、ASEサーバーに対する実際の展開で正常に機能します。
このようなクエリをサポートする単体テスト時に何か軽いものに立ち向かえるようにしたいのですが、Sybase構文はサポートされていない傾向があることを知っています。Oracleの場合、HSQLDBはORA固有の構文との互換性を有効にするフラグをサポートしています。これらのDBのいずれかが上記のようなSybaseクエリ構文を処理できるようにする構文フラグがありませんか?このユースケースをサポートする代替製品はありますか?
どうもありがとう!