触发器无法正常工作?

时间:2014-03-15 02:08:33

标签: plsql oracle11g

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;

我试图运行它,但它显示错误。

1 个答案:

答案 0 :(得分:1)

您可以使用pl / sql或TOAD将旧架构中的数据库同义词导出为文本文件,然后将导出的文件另存为脚本,编辑它然后在新架构上执行它。

由plsql developer开发:

enter image description here

Toad:

enter image description here