变量不能在SQL语句之外使用

时间:2011-12-25 00:22:10

标签: oracle

嘿,我正在构建这个存储过程:

        CREATE OR REPLACE procedure fillCompanyWH
        IS
        cursor c is select other_line_key from line_contact;
        cursor e is select max(comp_id) + 1 from Company_WH;
        r c%ROWTYPE;
        count PLS_INTEGER:=0;
        rr NUMBER(9);
        BEGIN
                open c; 
                open e;
                    fetch e into rr;
                    if(rr is null) THEN
                        rr:=1;
                    end if;
                count:= rr;
                loop    
                    count :=count + 1;              
                fetch c into r;
                exit when c%NOTFOUND;
                        insert into Company_WH (comp_id, comp_key) values (count,r.other_line_key);
                end loop;

                    close c;
                    close e;
        END;
        /

它一直给我一个关于这一行的错误(count:= count + 1;) 错误说明(语句忽略函数或伪列'COUNT'只能在SQL语句中使用。)

为什么?

2 个答案:

答案 0 :(得分:4)

COUNT是保留字,因此您不能将其用作变量标识符。将其更改为其他内容。

答案 1 :(得分:2)

COUNT是内置功能。尝试重命名变量。