这个问题可能是蟾蜍特有的.我不知道Oracle如何存储视图,所以我将解释当我使用Toad时会发生什么.如果我得到一个特定于Oracle的答案,那就更好了.
我创造了一个相当复杂的观点.为了更清楚,我已经很好地格式化了代码,并在需要时输入了一些注释.当我需要对视图进行更改时,我使用Toad的“描述对象”窗口,在那里我可以找到一个脚本来重新创建视图.唯一的问题是我的所有格式都消失了. 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%';
请注意,第一条评论已消失,格式完全不同.
我怀疑Oracle不存储视图的代码,只存储一些已解析的版本,并且当Toad启动脚本时,它会反转此解析版本并动态生成脚本.
我需要做些什么才能使Toad / Oracle保持原始格式?
(PS:我知道我可以更改Toad代码格式化程序的设置,但这不是我想要做的.由于我过去的一些可疑选择,这个特定的视图有几个级别的内联视图,我需要一个非常具体的格式化,以明确发生了什么)