目录
最近遇到了一个很低级的报错,虽然是很低级,但是还是容易出现,所以就记录起来分享给大家。希望你们看到这种报错时能一眼知道是什么原因导致的。那这篇文章的功德无量了。
我们在做查询、插入、更新、删除等DML操作时,都会出现如下ORA:04044:此处不允许过程、函数、程序包或类型的报错,具体场景如下图所示,当然我们在触发器、存储过程中都会出现该报错。
1、数据库表命名与存储过程或者触发器其他非表类型的命名不规则导致
2、因存储过程或者触发器其他非表类型的命名类似表名,误认为是表所以导致查询报错
重命名其他非表类型的名称,统一命名规则。
我们在创建存储过程、触发器、自定义函数时,容易命名错误。尤其是命名为DUAL,这会导致虚拟表不能使用了。因此在开发过程中,有一套好的命名标准是多么的重要,希望对您有所帮助和启发。