内容阅读
在知识库中专注阅读,并随时返回相关工具与课程
ORA-06553常见PL/SQL
PLS-306:调用中的参数数量或类型错误
PLS-306: wrong number or types of arguments in call
错误描述
调用过程或函数时参数数量不对或参数数据类型不兼容。这是通过 PLS-306 报告的编译时错误。
可能原因
- 调用过程/函数时参数过多或过少
- 在需要 NUMBER 的地方传递 VARCHAR2,反之亦然
- 包被重新编译且签名已更改,但调用者未重新编译
解决方案
- 1检查过程签名:DESCRIBE package_name.procedure_name;
- 2使参数数量和类型与过程规范匹配
- 3重新编译依赖对象:EXEC DBMS_UTILITY.COMPILE_SCHEMA('SCHEMA');
诊断命令
SELECT argument_name, position, data_type, in_out FROM dba_arguments WHERE object_name = 'PROC_NAME' AND package_name = 'PKG_NAME' ORDER BY position;SELECT * FROM dba_dependencies WHERE referenced_name = 'PKG_NAME' AND referenced_type = 'PACKAGE';#plsql#arguments#type-mismatch#pls-306