Переменная не может использоваться вне оператора SQL - PullRequest
0 голосов
/ 25 декабря 2011

Эй, я строю эту хранимую процедуру:

        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 ]

4 голосов
/ 25 декабря 2011

COUNT - зарезервированное слово, поэтому вы не можете использовать его в качестве идентификатора переменной.Измените это на что-то другое.

2 голосов
/ 25 декабря 2011

COUNT - встроенная функция. Попробуйте переименовать вашу переменную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...