0

あらゆる種類のデータベースにあるテーブルを簡単に検索しようとしています。次のクエリはほとんどのデータベースで機能していますが、mysql で機能するソリューションが見つかりません。データベース内のテーブルはアクティブ オブジェクト フレームワークによって生成されるため、それらのインスタンスの名前や構成を変更することはできません。

以下は、MySQL 以外のすべてのデータベースで正常に機能するクエリです。

select * from "AO_69D057_FILTER" where "SHARED" = true AND "CONTAINS_PROJECT" = true AND UPPER("FILTER_NAME") like UPPER('%pr%').

何らかの理由で、MySql はテーブル名を二重引用符で囲むことができません。引用符で囲まれていないテーブル名を使用すると、MySQL では機能しますが、Postgres では機能しません。引用符で囲まれていないため、Postgres はテーブル名を小文字に変換しています。AO はテーブル名を大文字で生成しています。

エイリアスも使用しようとしましたが、ステートメントの評価階層のために機能しません。

テーブル名の問題を解決する方法はありますか?

4

2 に答える 2