Hello我使用datapump导出数据库另一个模式,因此这个同义词必须在另一个新模式中。
我的老人是KTECH,新人是LTECH
DECLARE
strSynonyms_KTECH VARCHAR2(3000) := 'KTECH ';
strSynonyms_LTECH VARCHAR2(3000) := 'LTECH';
strCommand VARCHAR2(33865);
BEGIN
LOOP
FOR Synonym IN (SELECT * FROM ALL_SYNONYMS WHERE OWNER = strSynonyms_KTECH)
strCommand := 'CREATE OR REPLACE SYNONYM ' ||
Synonym.KTECH || '.' || Synonym.SYNONYM_NAME ||
' FOR ' || strSynonyms_LTECH || '.' ||
Synonym.TABLE_NAME;
EXECUTE IMMEDIATE strCommand;
END LOOP;
END;
我试图运行它,但它显示错误。
答案 0 :(得分:1)
您可以使用pl / sql或TOAD将旧架构中的数据库同义词导出为文本文件,然后将导出的文件另存为脚本,编辑它然后在新架构上执行它。
由plsql developer开发:
Toad: