2016-05-27 3 views
0

FirebirdとSQL Serverを使用して、VIEWを作成すると、クエリのテキストは私が書いたとおりにそのまま残ります。 SQLDBX、IbExpert、FlameRobin、SSMSを使用していても、同じクエリテキストを抽出します。MySQLがVIEWクエリテキストを完全に再フォーマットするのはなぜですか?

しかし、MySQLに関しては、完全にクエリテキストを変更します。スクリプトに展開すると、慎重にインデントされたクエリテキストが、1つのBIGテキスト行に変換されます。

ODBCアプリケーション(SQLDBX)またはMySQL WorkBenchを使用している場合は無関心ですが、それは絶対に迷惑です。

  1. 、これはそのように動作する理由についていくつかの理由があります:

    した後は、と言いましたか?

  2. 回避策はありますか?

答えて

0
  1. mysqlはこのように設計されているためです。それはコードを解釈し、正規形に変換します。このプロセスでは、すべてのインデントが失われます。私はrdbmsがうまくフォーマットされた方法でコマンドを格納することを期待していません。それはその目的ではありません。
  2. バージョン管理システムに、ビュー、ストアドプロシージャ、テーブルなどをきれいにインデントしたコードを格納します。
+0

これはデザインの無能さ、IMHOの良い言い訳です。 –

+0

私はそれがデザインの無能さだとは思わない。きれいにフォーマットされたコードを返すためにrdbmsの機能に頼るべきではありません。 – Shadow

+0

80年代半ばに最初に設計されたデータベースがそれを行うことができるのであれば、MySQLは基本的なことをすることはできません。言い訳はありません。 彼らはルーチンには起こらないので、それを行う方法を知っています。 –

関連する問題