我正在Query Site
练习此查询create procedure median_result_set(out mediansalary decimal(5,2))
result sets 1
language sql
begin
declare v_numrowrecords int default 1;
declare v_counter int default 0;
declare c1 cursor for
select salary from
staff
order by salary;
declare c2 cursor with return for
select name ,job, cast(salary as integer)
from staff
where salary > mediansalary
order by salary;
declare exit handler for not found
set mediansalary=6666;
set mediansalary=0;
SELECT COUNT(*)
INTO v_numrowrecords
FROM ASFAKUL.STAFF;
open c1;
while v_counter < (v_numrowrecords/2+1)
do
fetch c1 into mediansalary;
set v_counter=v_counter+1;
end while;
close c1;
open c2;
end;
但我在DB2 10.5中遇到语法错误。我不知道为什么我会收到错误。请帮忙 。另请解释我们如何在第二个游标中输入 mediansalary 作为输入。在oracle中,我们可以将输入声明为游标声明的一部分,但我们在此处没有做任何排序。有人可以解释一下。我正在使用SAMPLE模式。所有信息都是
**产品名称:“DB2 Express-C”
许可证类型:“无根据”
有效期:“永久性”
产品标识符:“db2expc”
版本信息:“10.5”
最大CPU数:“2”
最大内存量(GB):“16”
执法政策:“软停止”**