我本来有一些同义词指向某个用户下相应的表,这个用户我现在不用了,于是就先删除该用户,然后再试图删除同义词,就报错了:
ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist
请问有没有什么办法删除这些同义词?或者重建它们,使其指向存在的用户下相应的表?
谢谢!
------解决方案--------------------
create or replace synonym 不可以重建吗?
------解决方案--------------------
是否可以这样,先重建,将原先指向删除用户的表或视图换成其他表,然后在drop掉该同义词?
------解决方案--------------------
数据库版本是多少?
oracle 11g里面已经没有这个情况了.
------解决方案--------------------
我用10g版本试了下,先drop user,再drop别的user定义在该user下的对象的synonym没问题。
你做个drop synonym时的sql trace.贴出来。看看错误发生在哪一步。
------解决方案--------------------
到Console里删
------解决方案--------------------
synonym创建的时候,不会去做对象有效的检查,应该drop的时候也不会去做吧。
------解决方案--------------------