名为PL/SQL的错误:忽略语句
我定义了一个变量c_c来计算循环的次数,错误发生在increase语句(c_c:= c_c + 1;)
create or replace function number_of_course(num_stu STUDENTS.STUNO%TYPE)
return number is
c_c number :=0;
cursor c1 is SELECT stuno from reg;
begin
for i in c1 loop
if i = num_stu then
c_c := c_c + 1 ;
end if;
end loop;
RETURN c_c;
end number_of_course;
2条答案
按热度按时间gg58donl1#
修复这个错误很容易 *-你不能把游标变量和数字进行比较。但是,我不知道这段代码应该做什么。
对于示例表(只是为了使函数编译):
固定功能:
它返回 * 任何东西 * 吗?是的,它返回。这是你想要的吗?就像我说的,不知道。
型
vfh0ocws2#
您可以使用
COUNT
聚合函数,而不是使用游标循环(游标循环会更慢、更复杂):如果您确实需要使用循环(这似乎毫无意义),那么您可以在游标中进行过滤,并计算游标中的行数: