跳到主要内容
内容阅读

在知识库中专注阅读,并随时返回相关工具与课程

ORA-06553常见PL/SQL

PLS-306:调用中的参数数量或类型错误

PLS-306: wrong number or types of arguments in call

错误描述

调用过程或函数时参数数量不对或参数数据类型不兼容。这是通过 PLS-306 报告的编译时错误。

可能原因

  • 调用过程/函数时参数过多或过少
  • 在需要 NUMBER 的地方传递 VARCHAR2,反之亦然
  • 包被重新编译且签名已更改,但调用者未重新编译

解决方案

  1. 1检查过程签名:DESCRIBE package_name.procedure_name;
  2. 2使参数数量和类型与过程规范匹配
  3. 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

同类错误码(PL/SQL)

想系统掌握这个领域?

「PL/SQL」在课程 Day 81-90 中有 10 篇完整实战教程

完整操作步骤真实截图踩坑总结
查看完整课程¥128/月起 · 解锁全部 2738+ 篇
ORA-06553: PLS-306:调用中的参数数量或类型错误 - 原因与解决方案 | DBA 学习之路