Этот вопрос может быть специфичным для Toad. Я понятия не имею, как Oracle хранит представления,поэтому я объясню, что происходит, когда я использую Toad. Если я получу ответ, относящийся к Oracle, тем лучше.
Я создал довольно сложное представление. Чтобы было понятнее, я красиво отформатировал код и добавил комментарии там, где это необходимо. Когда мне нужно внести изменения в представление, я использую окно «Описать объекты» Toad, где я могу найти скрипт для воссоздания представления. Единственная проблема в том, что все мое форматирование исчезло. Комментарии перед ключевым словом select (, но после «создать вид xxx как» )также исчезнут.
Если я ввожу этот скрипт для создания представления:
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/Oracle сохранил исходное форматирование?
(PS :Я знаю, что могу изменить настройки форматирования кода Жабы, но это не то, чем я хочу заниматься. Из-за некоторых сомнительных решений в моем прошлом это конкретное представление имеет несколько уровней встроенных представлений, и мне нужно очень конкретное форматирование, чтобы было понятно, что происходит)