PL/SQL:ORA-00920:无效的关系运算符
我得到这个错误PL/SQL:ORA-00920:无效的关系运算符,sql,oracle,plsql,Sql,Oracle,Plsql,我得到这个错误 23/112 PL/SQL:ORA-00920:无效的关系运算符 它指向当前的声明 CREATE OR replace PROCEDURE alga_uz_pasirodyma(grupe_id in grupes.id%TYPE, alga in out number) IS v_kliento_id nariai.asm_kodas%TYPE; TYPE bendras IS RECORD ( alga number ); globalus bendras; CURSOR
23/112 PL/SQL:ORA-00920:无效的关系运算符 它指向当前的声明
CREATE OR replace PROCEDURE alga_uz_pasirodyma(grupe_id in grupes.id%TYPE, alga in out number)
IS
v_kliento_id nariai.asm_kodas%TYPE;
TYPE bendras IS RECORD (
alga number
);
globalus bendras;
CURSOR c_klientai IS
SELECT nariai.asm_kodas
FROM nariai
where nariai.fk_grupe = grupe_id
FOR UPDATE OF nariai.alga;
BEGIN
globalus.alga:= alga;
IF grupe_id <= 0 THEN
raise_application_error(-20101, 'Nepavyko surasti grupes');
END IF;
OPEN c_klientai;
LOOP
FETCH c_klientai INTO v_kliento_id;
EXIT WHEN c_klientai%NOTFOUND;
UPDATE nariai set nariai.alga = nariai.alga * globalus.alga where nariai.asm_kodas = v_kliento_id AND CURRENT OF c_klientai;
END LOOP;
UPDATE grupes set grupes.pasirodymu_kiekis = grupes.pasirodymu_kiekis + 1 where grupes.id = grupe_id;
SELECT max(nariai.alga) into alga from nariai where nariai.fk_grupe = grupe_id;
CLOSE c_klientai;
END alga_uz_pasirodyma;
创建或替换过程alga_uz_pasirodyma(grupe_id in grupes.id%TYPE,alga in out number)
是
v_kliento_id nariai.asm_kodas%类型;
bendras型为记录型(
藻类数量
);
本德拉球藻;
光标c_klientai为
选择nariai.asm\u kodas
来自nariai
其中nariai.fk_grupe=grupe_id
更新nariai.alga;
开始
globalus.alga:=藻类;
如果grupe_id“CURRENT OF”应该单独出现在where子句中。它允许您在光标的当前循环迭代中更新或删除记录
另一方面,我没有看到您在循环中做任何有意义的事情来保证游标。如果这会改变,请忽略此注释,否则只需运行更新“where nariai.fk_grupe=grupe_id”谢谢您的输入,但我应该在代码中更改什么以避免错误呢DUPDATE nariai set nariai.alga=nariai.alga*globalus.alga,其中c_klientai的电流;