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

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

很明显,报错在这个位置,且报已存在object,说明重复建表导致报错,也就是说上面找表名时没找到,但是我直接select * from swl_wqsy1又可以查询出数据;
疑惑了我半天,后来问了办公室的前辈 知道了![]()
原来建表时不管你是大小写的表名,系统统一都替换成大写了;所以执行以下语句时,结果为0
select count(*) from all_tables where table_name='swl_wqsy1'
把里面的swl _wqsy1替换成大写的SWL_WQSY1,执行结果就是1了。
再把存储过程里的表名都替换成大写的,就能正常执行啦
本文介绍了解决Oracle SQL存储过程中遇到的ORA-00955错误的方法。通过调整表名的大小写,确保与系统中实际存在的表名一致,从而解决了因表名不匹配导致的错误。

1万+

被折叠的 条评论
为什么被折叠?



