【发布时间】:2021-03-25 02:01:41
【问题描述】:
我是 pl/sql 的新手,我正在尝试计算所有具有首字母“H”的员工
我的代码目前看起来像这样,但在第 24 行出现错误,COUNT(v_initials);
declare
cursor cursor_employee
is
select * from cmp_employer_employees
where rownum < 25
order by employer_employee_id asc
;
v_initials varchar(100);
v_count number := 0;
begin
for r_employee in cursor_employee loop
v_initials := r_employee.INITIALS;
if v_initials like '%H'
then
COUNT(v_initials);
end if;
end loop;
end;
【问题讨论】:
-
你永远不会在 pl/sql 中真正做到这一点,因为它在 SQL 中得到了很好的优化。但是,您可以只声明一个数字变量(在
declare部分中),而不是count(这不是一个pl/sql 语句),并在每次if条件被评估为真时将其加一。请记住,您的查询中有一个rownum过滤器,因此您不会计算所有匹配的行,除非您的表中的行数少于 25。
标签: oracle plsql count oracle-sqldeveloper plsqldeveloper