DB2 sql查询语法错误

时间:2014-02-26 19:42:19

标签: sql db2

我正在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”

执法政策:“软停止”**

0 个答案:

没有答案