PLS-00306:调用 'GET_LINE' 时参数的数量或类型错误。在 PL/SQL 中的函数中传递字符串参数时出现此错误

Posted

技术标签:

【中文标题】PLS-00306:调用 \'GET_LINE\' 时参数的数量或类型错误。在 PL/SQL 中的函数中传递字符串参数时出现此错误【英文标题】:PLS-00306: wrong number or types of arguments in call to 'GET_LINE' . Getting This error when passing a string argument in my function in PL/SQLPLS-00306:调用 'GET_LINE' 时参数的数量或类型错误。在 PL/SQL 中的函数中传递字符串参数时出现此错误 【发布时间】:2020-10-21 11:15:44 【问题描述】:

这是我的函数,它接受类型为 department.dept_name%type 的参数。这是varchar2(20)

```
create or replace function count_doc(dep_name_local department.dept_name%TYPE)
return number is
x int;
begin
select count(doc_id) into x from doctor where dept_no in(select dept_no  from department where dept_name=dep_name_local); 
return x;
end;

 ```

这是我的函数调用。

    declare
    dep_namePass department.dept_name%TYPE;
    
    begin
    dep_namePass:='Cardiology';
    dbms_output.get_line(count_doc(dep_namePass));
    end;

     ```
Please tell me what am I doing wrong. I am a beginner :( . I am doing this in livesql btw.


【问题讨论】:

【参考方案1】:

dbms_output.put_line,不是get_line

【讨论】:

以上是关于PLS-00306:调用 'GET_LINE' 时参数的数量或类型错误。在 PL/SQL 中的函数中传递字符串参数时出现此错误的主要内容,如果未能解决你的问题,请参考以下文章

PLS-00306:调用“*”时参数的数量或类型错误

PLS-00306:调用 oracle 函数时参数的数量或类型错误

PLS-00306:调用过程 PROC_T 时参数的数量或类型错误

PLS-00306:调用“ADD_MONTHS”时参数的数量或类型错误

PLS-00306: 调用 'SYNCRN' 时参数个数或类型错误

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