gpt4 book ai didi

oracle - 如何在 pl-sql 中测试函数是否正常工作?

转载 作者:行者123 更新时间:2023-12-04 19:50:22 25 4
gpt4 key购买 nike

我学习了在 pl-sql 中编写函数和过程的基础知识,但我不知道如何测试它是否有效,如果无效,我该如何调试它。
请有任何想法。
谢谢大家。
这是我正在尝试测试的功能

CREATE OR REPLACE FUNCTION MIN_MAX_SAL RETURN NUMBER AS 
cursor emp_cur is select salary from employees ;
emp_sal number;
min_sal jobs.min_salary%type;
max_sal jobs.max_salary%type;
BEGIN
select min_salary , max_salary into min_sal , max_sal from jobs;
for emp_sal in emp_cur loop
if (emp_sal > max_sal or emp_sal < min_sal) then
return 0;
end loop;
RETURN 1;
END MIN_MAX_SAL;

有什么帮助吗?

最佳答案

一般来说,就像问题 - 如何在 SQL*Plus 中运行/测试...

要测试采用标量参数并返回标量值的函数:

SELECT function_name(parm1, parm2) FROM DUAL;

要测试程序:
EXEC procedure_name(parm1, parm2)

如果过程返回 REFCURSORSYS_REFCURSOR通过 OUT范围:
VAR x REFCURSOR
EXEC procedure_name(parm1, parm2, :x)
PRINT x
x 之前的冒号在上面的第二行中是必需的。在其他两行( VARPRINT )中是不允许的。

如果您在 SQL*Plus 中测试特定函数或过程时遇到问题,请发布该函数/过程或至少其声明。

调试,撒 DBMS_Output.Put_Line在要检查值的地方调用。 DBMS_Output包被记录在案 here .在使用 DBMS _Output 运行 proc 之前调用,在 SQL*Plus 命令行中键入以下内容:
SET SERVEROUTPUT ON SIZE 50000
SIZE是 Oracle 允许的字符数 DBMS_Output回声。程序完成后,所有输出都会发回。

关于oracle - 如何在 pl-sql 中测试函数是否正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16702020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com