(转)开发][Oracle]Ora-00980错误分析

本文介绍了在Oracle数据库中遇到的'ORA-00980'错误,该错误发生在尝试从DUAL表查询sysdate时。错误表明同义词翻译不再有效。
摘要由CSDN通过智能技术生成
实验来给大家展示一种常见的导致“ORA-00980” 错误发生的情况,然后给出一些其他可能导致这个错误发生的原因,最后给出一个可以自动化获得删除所有无效同名的 SQL 脚 本

一、先来模拟一下这个“ORA-00980: synonym translation is no longer valid”错误。
1.在 secooler用户中创建一张表t
secooler@ora10g> create table t (x number);

Table created.

secooler@ora10g> insert into t values (1);

1 row created.

secooler@ora10g> commit;

Commit complete.

2.切换到sec用户,创建同名syn_t引用secooler用户下的t表
secooler@ora10g> conn sec/sec
Connected.
sec@ora10g> create synonym syn_t for secooler.t;

Synonym created.
sec@ora10g> select * from syn_t;

         X
----------
         1

3.回到secooler用户中将表t删除 掉
sec@ora10g> conn secooler/secooler
Connected.
secooler@ora10g> drop table t purge;

Table dropped.

4.此时,我们再次使用同名syn_t查看表t时就会见到这个“ORA- 00980”错误了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值