この質問は、Toad 固有のものである可能性があります。Oracle がどのようにビューを格納するのかはよくわからないので、Toad を使用するとどうなるかを説明します。Oracle固有の回答が得られれば、なおさらです。
かなり複雑なビューを作成しました。わかりやすくするために、コードを適切にフォーマットし、必要に応じてコメントを入力しました。ビューに変更を加える必要があるときは、Toad の「describe objects」ウィンドウを使用します。ここで、ビューを再作成するためのスクリプトを見つけることができます。唯一の問題は、私のフォーマットがすべてなくなったことです。select キーワードの前 (ただし、"create view xxx as" の後) のコメントも消えます。
このスクリプトを入力してビューを作成すると:
create or replace view TestViewFormatting as
-- Here I have a long comment explaining the role of the
-- view and certain things to be aware of if changing it.
-- Unfortunately this comment will disappear...
select
name, --This comment will be kept
accountnumber --This also
from
debtable
where
name like 'S%';
後で説明すると、ヒキガエルはこれを表示します。
DROP VIEW XXX.TESTVIEWFORMATTING;
/* Formatted on 04.07.2012 09:35:45 (QP5 v5.185.11230.41888) */
CREATE OR REPLACE FORCE VIEW XXX.TESTVIEWFORMATTING
(
NAME,
ACCOUNTNUMBER
)
AS
select name, --This comment will be kept
accountnumber --This also
from debtable
where name like 'S%';
最初のコメントが消えており、形式がまったく異なることに注意してください。
オラクルはビューのコードを保存せず、解析されたバージョンだけを保存していると思われます.Toadがスクリプトを起動すると、この解析されたバージョンを逆にして、その場でスクリプトを生成します.
Toad/Oracle で元のフォーマットを維持するにはどうすればよいですか?
(追伸: Toad のコード フォーマッタの設定を変更できることはわかっていますが、これは私がやりたいことではありません。過去に疑わしい選択をしたため、この特定のビューにはいくつかのレベルのインライン ビューがあり、非常に具体的なビューが必要です。何が起こるかを明確にするための書式設定)