ORA-00955: name is already used by an existing object

新手入门刚学会oracle的sql存储过程,按部就班操作后执行存储过程时发现一直报一个错,ORA-00955: name is already used by an existing object;

BEGIN
SWL_YW_WQSY('20221201','20221203');
END;

报错图如下:

ORA-00955: name is already used by an existing object_第1张图片

网上找不到对应的解决方案,然后我跳到错误代码行看了下:

 ORA-00955: name is already used by an existing object_第2张图片

很明显,报错在这个位置,且报已存在object,说明重复建表导致报错,也就是说上面找表名时没找到,但是我直接select * from swl_wqsy1又可以查询出数据;

疑惑了我半天,后来问了办公室的前辈 知道了

原来建表时不管你是大小写的表名,系统统一都替换成大写了;所以执行以下语句时,结果为0

select count(*) from all_tables where table_name='swl_wqsy1'

把里面的swl _wqsy1替换成大写的SWL_WQSY1,执行结果就是1了。

再把存储过程里的表名都替换成大写的,就能正常执行啦

你可能感兴趣的:(工作,sql,数据库,oracle)