[ERRO!] Com Declarações Anonimas em PL / SQL (Basico)

6 respostas
GabrielCardelli
DECLARE

    CURSOR C1  IS SELECT FUNC_NOME,FUNC_SALARIO FROM FUNCIONARIO;
    RC1 C1%ROWTYPE;
    CONTADOR NUMBER(6) := 0;
    TOTAL        NUMBER(6) := 0;

BEGIN

    SELECT SUM(FUNC_SALARIO) INTO TOTAL FROM FUNCIONARIO;

    FOR RC1 IN C1 LOOP
    
        FETCH C1 ON RC1;
        INSERT INTO TABTOTAL VALUES (CONTADOR,RC1.FUNC_NOME,RC1.FUNC_SALARIO,TOTAL);
        CONTADOR := CONTADOR + 1;
    
    END LOOP;

END;

Preciso inserir em cada campo da tabela tab_total uma copia dos nomes e salarios de funcionarios junto com a soma dos salarios... não me perguntem pq, é um exercicio do livro, não está inserindo...

Acho que o erro é esse tem tanta coisa no Log...

Error report:
ORA-06550: linha 14, coluna 21:
PLS-00103: Encontrado o símbolo "ON" quando um dos seguintes símbolos era esperado:

   . into bulk
O símbolo "into foi inserido antes de "ON" para continuar.
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:

Alguem ajuda?

6 Respostas

furutani

Tem algo estranho na sintaxe do for…loop

Dá uma olhada aqui

GabrielCardelli

Vou ver mano… Mais acho que o problema tá na query SQL.

Abdon
FETCH C1 ON RC1;

Se eu não me engano isso esta errado, o correto seria:

FETCH C1 INTO RC1;

Vc tb tem que colocar um Exit where C1%NotFound para parar o loop. Da uma lida que vai te ajudar.

GabrielCardelli

Valeu ovelha, deve ser isto mesmo quando chegar em casa testo,
Valeu ae pessoal , abraço!

GabrielCardelli

mesmo erro.

GabrielCardelli

ALGUEM AJUDA[url]?

Criado 12 de janeiro de 2010
Ultima resposta 13 de jan. de 2010
Respostas 6
Participantes 3