PLSQL程序通过从表中获取记录来添加数字[关闭]
Posted
技术标签:
【中文标题】PLSQL程序通过从表中获取记录来添加数字[关闭]【英文标题】:PLSQL procedure to add numbers by fetching records from table [closed] 【发布时间】:2019-02-27 10:42:23 【问题描述】:PL/SQL 过程在表的每一行中添加值,DBMS 逐行输出所有结果。
【问题讨论】:
【参考方案1】:这样的?
set serveroutput on
declare
l_what varchar2(10); --> fail or pass
begin
for cur_r in (select col1,
col2,
col3, --> to be compared with
col1 + col2 result
from your_table)
loop
l_what := case when cur_r.col1 + cur_r.col2 = cur_r.col3 then 'pass'
else 'fail'
end;
dbms_output.put_line(cur_r.col1 ||' + '|| cur_r.col2 ||' = ' || cur_r.result ||' -> '|| l_what);
end loop;
end;
/
[编辑:对表中的值求和的函数]
基于 Scott 的模式,该函数将 SAL 和 COMM 值相加:
SQL> select empno, ename, sal, comm from emp where comm is not null;
EMPNO ENAME SAL COMM
---------- ---------- ---------- ----------
7499 ALLEN 1600 300
7521 WARD 1250 500
7654 MARTIN 1250 1400
7844 TURNER 1500 0
SQL> create or replace function f_sum (par_empno in number)
2 return number
3 is
4 retval number;
5 begin
6 select sal + comm
7 into retval
8 from emp
9 where empno = par_empno;
10 return retval;
11 end;
12 /
Function created.
测试:
SQL> select empno, ename, sal, comm, f_sum(empno) result
2 from emp
3 where empno = 7499;
EMPNO ENAME SAL COMM RESULT
---------- ---------- ---------- ---------- ----------
7499 ALLEN 1600 300 1900
SQL>
【讨论】:
这符合我的预期.. 我有第三列 - 预期结果。我想将上述过程得出的结果与预期结果列值(行到行)进行比较,并将 o/p 设为 Fail/Pass。朗姆酒单元测试用例是否有任何软件包。请帮忙。提前致谢 我修改了我写的代码并添加了“比较”的东西。请看一下。 是的,这很有帮助。您对可用于从 DB 连接到 jenkins 的插件有任何想法吗?我可以在其中比较结果并获得失败/通过报告类型 不,抱歉,我根本不认识 Jenkins。以上是关于PLSQL程序通过从表中获取记录来添加数字[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
添加列通过从sql Server中的另一个表中选择所有项目来选择表
当用户通过电子邮件更新记录时,如何通过从指定表中选择记录的 status_id 来通知所有管理员