【发布时间】:2014-06-05 18:56:21
【问题描述】:
我从 PL/SQL 开始,这是我的第一个程序,我发现编译起来很困难;我尝试了很多不同的版本,我进行了最后一次尝试。我不明白为什么 SQLDEVELOPER 说我:“过程已编译(有错误)”。
编译器说我:“Errore(10,1): PLS-00103: Trovato il simbolo (find)”改为“DECLARE”:begin function pragma procedure subtype type current cursor delete exists prior”
如果有其他错误(也是合乎逻辑的)请告诉我。我想改进。
谢谢大家的回答
我的程序:
create or replace PROCEDURE calcola_giorn (giornata IN INTEGER) is
-- si tenga presente che in realtà giornata=idPartita
somma NUMBER;
idcal NUMBER;
nometorn VARCHAR2;
idformaz NUMBER;
nomesquadr VARCHAR2;
DECLARE;
SELECT idcalendario INTO idcal FROM partita WHERE id= giornata;
SELECT nometorneo INTO nometorn FROM calendario WHERE id= idcal;
CURSOR formazioni_di_giornata IS
SELECT id, nomesquadra FROM formazione where idpartita= giornata;
CURSOR giocatori_di_giornata IS
SELECT votogiocatore FROM schiera WHERE idformazione= idformaz;
Begin
OPEN formazioni_di_giornata;
FOR tupla_formazione IN formazioni_di_giornata LOOP
somma:=0;
FETCH formazioni_di_giornata INTO idformaz, nomesquadr;
OPEN giocatori_di_giornata;
FOR tupla_giocatore IN giocatori_di_giornata LOOP
somma:= somma + tupla_giocatore.votogiocatore;
END LOOP;
CLOSE giocatori_di_giornata;
UPDATE partecipa SET punti= somma WHERE ( (nomesquadra= nomesquadr) AND (nometorneo= nometorn));
END LOOP;
CLOSE formazioni_di_giornata;
EXCEPTION WHEN OTHERS THEN raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END calcola_giorn;
【问题讨论】:
标签: stored-procedures plsql syntax-error plsqldeveloper