У меня вопрос по скрипту в Oracle!
У меня есть материализованное представление в предварительно созданной таблице в моем BBDD (это MV принадлежит пользователю DAT_OWN, два других пользователя (APP и BO) имеют синоним этого MV). Мне нужно изменить MV и добавить столбец. Я знаю, что мне нужно удалить это MV и создать другое, но что добавить к синониму?
У меня есть предыдущий скрипт, например:
DROP SYNONYM APP.STAT_VOZ;
CREATE SYNONYM APP.STAT_VOZ FOR DAT_OWN.STAT_VOZ;
DROP SYNONYM BO.STAT_VOZ;
CREATE SYNONYM BO.STAT_VOZ FOR DAT_OWN.STAT_VOZ;
DROP MATERIALIZED VIEW DAT_OWN.STAT_VOZ;
CREATE MATERIALIZED VIEW DAT_OWN.STAT_VOZ
ON PREBUILT TABLE WITH REDUCED PRECISION
REFRESH COMPLETE
START WITH TO_DATE('21-ene-2013 19:20:00','dd-mon-yyyy hh24:mi:ss')
NEXT (trunc(SYSDATE,'HH')+19/72)
WITH PRIMARY KEY
AS
SELECT TO_CHAR (SUM (COUNT)) AS sum_count,
start_date AS date_hour,
input_type AS input_type
FROM DAT_OWN.another_table
WHERE start_date > TO_CHAR (SYSDATE - 60, 'yyyymmdd')
GROUP BY start_date
Зачем кому-то удалять синоним APP и создавать синоним APP, отбрасывать синоним BO и создавать синоним BO ПЕРЕД удалением материализованного представления? На мой взгляд, я должен сделать
drop synonym1
drop synonym2
drop Mview
create Mview
create Synonym1
Create Synonym2
Я уверен, что программист до меня проделал хорошую работу, но я не могу понять, почему они сделали это именно так! Может кто-нибудь объяснить мне это, пожалуйста?
С уважением