Изменение владельца таблицы из нескольких синонимов - PullRequest
1 голос
/ 31 марта 2020

У меня 848 NONEDITIONABLE PUBLIC SYNONYM, у которых TABLE_OWNER как Dev.

Мне нужна помощь, чтобы изменить все эти NONEDITIONABLE PUBLIC SYNONYM на Prod, но для этого нам нужно извлечь все запросы. Есть ли запрос для этого?

текущий:

CREATE OR REPLACE NONEDITIONABLE PUBLIC SYNONYM "CONFIG_SEQ" FOR "Dev"."CONFIG_SEQ";

Ожидается:

CREATE OR REPLACE NONEDITIONABLE PUBLIC SYNONYM "CONFIG_SEQ" FOR "Prod"."CONFIG_SEQ";

Ваше время и помощь приветствуются. Спасибо

1 Ответ

2 голосов
/ 31 марта 2020

нам нужно извлечь все запросы. Есть запрос для этого?

Да. Сгенерируйте скрипт из словаря данных:

select 'CREATE OR REPLACE NONEDITIONABLE PUBLIC SYNONYM "'
       || synonym_name ||'" FOR "PROD"."' || table_name || '";'
from all_synonyms
where owner = 'PUBLIC'
and   table_owner = 'DEV'
/

. Для дальнейшего использования, пожалуйста, помните, что для этого нужно сбой процесса . Сценарии DDL, как и любой другой код, должны храниться в репозитории исходного кода, проверяться и развертываться в управляемых выпусках.

...