tira o espaço em branco ali do  RAISE_APPLICATION_ERROR  e troca por aspas 
simples a mensagem de erro ...

RAISE_APPLICATION_ ERROR(-20001,‘Erro ao inserir funcionarios-‘ || SQLERRM);

  ----- Original Message ----- 
  From: Marcelo Feijó Vargas 
  To: oracle_br@yahoogrupos.com.br 
  Sent: Wednesday, July 15, 2009 7:24 PM
  Subject: Res: Res: [oracle_br] URGENTE!! Bloco PL não compilando


    Sim, exatamente.Não consigo mais enxergar o erro.

  ________________________________
  De: Jeison <jei...@stcruz.com.br>
  Para: oracle_br@yahoogrupos.com.br
  Enviadas: Quarta-feira, 15 de Julho de 2009 18:57:39
  Assunto: Re: Res: [oracle_br] URGENTE!! Bloco PL não compilando

  o insert está na ordem correta da tabela, o campo DEPTNO é realmente o ultimo 
campo ?
  ----- Original Message ----- 
  From: Marcelo Feijó Vargas 
  To: oracle...@yahoogrup os.com.br 
  Sent: Wednesday, July 15, 2009 6:35 PM
  Subject: Res: Res: [oracle_br] URGENTE!! Bloco PL não compilando

  tirei o open cursor, continua com o mesmo erro.

  CREATE OR
  REPLACE PROCEDURE PRC_FNC_ATUALIZA_ SAL
  IS
  CURSOR C1 IS
  SELECT 
  EMPNO, DEPTNO, ENAME, JOB, MGR, HIREDATE,

  FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) SAL, 
  COMM
  FROM EMP
  WHERE JOB <> ‘PRESIDENT’; 

  BEGIN
  FOR R1 IN C1 LOOP
  INSERT INTO EMPR
  (EMPNO, ENAME, MGR, JOB, HIREDATE, SAL, COMM,
  DEPTNO)
  VALUES
  (R1.EMPNO, R1.ENAME, R1.MGR, R1.JOB, R1.HIREDATE, R1.SAL,
  R1.COMM, R1.DEPTNO);
  COMMIT; 
  END LOOP;
  EXCEPTION
  WHEN OTHERS THEN
  RAISE_APPLICATION_ ERROR(-20001,‘Erro ao inserir funcionarios-‘ || SQLERRM);
  END;

  ____________ _________ _________ __
  De: Roberto Oshikawa <rcoshik...@gmail. com>
  Para: oracle...@yahoogrup os.com.br
  Enviadas: Quarta-feira, 15 de Julho de 2009 18:26:08
  Assunto: Re: Res: [oracle_br] URGENTE!! Bloco PL não compilando

  tire o open cursor, deixe apenas o for

  2009/7/15 Marcelo Feijó Vargas <marcelofvargas@ yahoo.com. br>

  >
  >
  > Olá,
  >
  > Fiz diversas alterações, e ainda estou com um erro! Acusa na linha 16.
  > Deptno: identificador invalido.Segue a estrutura
  >
  >
  > CREATE OR
  > REPLACE PROCEDURE PRC_FNC_ATUALIZA_ SAL
  > IS
  > CURSOR C1 IS
  > SELECT
  > EMPNO, DEPTNO, ENAME, JOB, MGR, HIREDATE,
  >
  > FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) SAL,
  > COMM
  > FROM EMP
  > WHERE JOB <> ‘PRESIDENT’;
  >
  > BEGIN
  > OPEN C1;
  > FOR R1 IN C1 LOOP
  > INSERT INTO EMPR
  > (EMPNO, ENAME, MGR, JOB, HIREDATE, SAL, COMM,
  > DEPTNO)
  > VALUES
  > (R1.EMPNO, R1.ENAME, R1.MGR, R1.JOB, R1.HIREDATE, R1.SAL,
  > R1.COMM, R1.DEPTNO);
  > COMMIT;
  > END LOOP;
  > EXCEPTION
  > WHEN OTHERS THEN
  > RAISE_APPLICATION_ ERROR(-20001,‘Erro ao inserir funcionarios-‘ || SQLERRM);
  > END;
  >
  >
  > ____________ _________ _________ __
  > De: Simone Gaspar <simoneaggaspar@ yahoo.com. br<simoneaggaspar% 
40yahoo.com. br>
  > >
  > Para: oracle...@yahoogrup os.com..br <oracle_br%40yahoog rupos.com. br>
  > Enviadas: Quarta-feira, 15 de Julho de 2009 17:40:36
  > Assunto: Re: Res: [oracle_br] URGENTE!! Bloco PL não compilando
  >
  >
  > Oi, Marcelo,
  >
  > Veja onde estão os demais erros:
  >
  > - não é necessária a palavra FUNCTION aqui:
  >
  > FUNCTION FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) SAL,
  >
  > - feche o parênteses no final das colunas do INSERT e retire a vírgula após
  > o campo HIREDATE:
  >
  > INSERT INTO EMPR
  >
  > (EMPNO,
  >
  > DEPTNO,
  >
  > ENAME,
  >
  > JOB,
  >
  > MGR,
  >
  > HIREDATE)
  >
  > - retire os 2 pontos da coluna R1.JOB
  >
  > VALUES
  >
  > (R1.EMPNO,
  >
  > R1.DEPTNO,
  >
  > R1.ENAME,
  >
  > R1.JOB, -- retirar 1 ponto daqui
  >
  > - retire os espaços das chamadas das funções:
  >
  > CREATE OR REPLACE PROCEDURE PRC_FNC_ATUALIZA_ SAL
  > -- remover o espaço antes da palavra SAL
  > FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) -- remover o espaço antes da palavra
  > SAL
  >
  > RAISE_APPLICATION_ ERROR -- remover o espaço antes da palavra ERROR
  >
  > Para facilitar, aí vai o corpo da procedure com os erros corrigidos:
  >
  > CREATE OR REPLACE PROCEDURE PRC_FNC_ATUALIZA_ SAL IS
  > CURSOR C1 IS
  > SELECT EMPNO,
  > DEPTNO,
  > ENAME,
  > JOB,
  > MGR,
  > HIREDATE,
  > FNC_CALC_REAJUSTE_ SAL(EMPNO, DEPTNO) SAL, -- ADICIONEI A VÍRGULA
  > COMM
  > FROM EMP
  > WHERE JOB <> 'PRESIDENT'; -- ADICIONEI O PONTO E VÍRGULA
  > BEGIN
  > OPEN C1; -- ABRIR O CURSOR
  > FOR R1 IN C1 LOOP
  > INSERT INTO EMPR
  > (EMPNO, DEPTNO, ENAME, JOB, MGR, HIREDATE)
  > VALUES
  > (R1.EMPNO,
  > R1.DEPTNO,
  > R1.ENAME,
  > R1.JOB,
  > R1.MGR,
  > R1..HIREDATE,
  > R1.SAL,
  > R1.COMM,
  > R1.DEPTNO);
  > COMMIT; -- ADICIONADO O PONTO E VÍRGULA
  > END LOOP;
  > EXCEPTION
  > WHEN OTHERS THEN
  > RAISE_APPLICATION_ ERROR(-20001, 'Erro ao inserir funcionarios- ' ||
  > SQLERRM);
  > END;
  >
  > []s
  > Simone
  >
  > --- Em qua, 15/7/09, Marcelo Feijó Vargas <marcelofvargas@ yahoo.com. br>
  > escreveu:
  >
  > De: Marcelo Feijó Vargas <marcelofvargas@ yahoo.com. br>
  > Assunto: Res: [oracle_br] URGENTE!! Bloco PL não compilando
  > Para: oracle...@yahoogrup os.com.br
  > Data: Quarta-feira, 15 de Julho de 2009, 17:10
  >
  > Oi Simone,
  >
  > Outro colega aqui da lista corrigiu para mim , mas continuou dando outros
  > erros.
  >
  > Ele diz que a palavra-chave FROM não está localizada onde esperava-se e
  >
  > especificação invalida para usuario.tabela. coluna, tabela.coluna ou de
  > coluna, no select do campo HIREDATE.Segue estrutura corrigida:
  >
  > CREATE OR REPLACE PROCEDURE PRC_FNC_ATUALIZA_ SAL
  >
  > IS
  >
  > CURSOR C1 IS
  >
  > SELECT
  >
  > EMPNO,
  >
  > DEPTNO,
  >
  > ENAME,
  >
  > JOB,
  >
  > MGR,
  >
  > HIREDATE,
  >
  > FUNCTION FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) SAL, -- ADICIONEI A VÍRGULA
  >
  > COMM
  >
  > FROM EMP
  >
  > WHERE JOB <>
  >
  > ‘PRESIDENT’; -- ADICIONEI O PONTO E VÍRGULA
  >
  > BEGIN
  >
  > OPEN C1; -- ABRIR O CURSOR
  >
  > FOR R1 IN C1 LOOP
  >
  > INSERT INTO EMPR
  >
  > (EMPNO,
  >
  > DEPTNO,
  >
  > ENAME,
  >
  > JOB,
  >
  > MGR,
  >
  > HIREDATE,
  >
  > VALUES
  >
  > (R1.EMPNO,
  >
  > R1.DEPTNO,
  >
  > R1.ENAME,
  >
  > R1...JOB,
  >
  > R1.MGR,
  >
  > R1.HIREDATE,
  >
  > R1.SAL,
  >
  > R1.COMM,
  >
  > R1.DEPTNO);
  >
  > COMMIT; -- ADICIONADO O PONTO E VÍRGULA
  >
  > END LOOP;
  >
  > EXCEPTION
  >
  > WHEN OTHERS THEN
  >
  > RAISE_APPLICATION_ ERROR
  >
  > (-20001,
  >
  > ‘Erro ao inserir
  >
  > funcionarios-‘ || SQLERRM);
  >
  > END;
  >
  > ____________ _________ _________ __
  >
  > De: Simone Gaspar <simoneaggaspar@ yahoo.com.. br>
  >
  > Para: oracle...@yahoogrup os.com.br
  >
  > Enviadas: Quarta-feira, 15 de Julho de 2009 16:28:08
  >
  > Assunto: Re: [oracle_br] URGENTE!! Bloco PL não compilando
  >
  > Olá, Marcelo,
  >
  > Falta uma vírgula no final dessa linha:
  >
  > FUNCTION FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) SAL
  >
  > []s
  >
  > Simone
  >
  > --- Em qua, 15/7/09, Marcelo Feijó Vargas <marcelofvargas@ yahoo.com. br>
  > escreveu:
  >
  > De: Marcelo Feijó Vargas <marcelofvargas@ yahoo.com. br>
  >
  > Assunto: [oracle_br] URGENTE!! Bloco PL não compilando
  >
  > Para: oracle...@yahoogrup os.com.br
  >
  > Data: Quarta-feira, 15 de Julho de 2009, 15:17
  >
  > Pessoal,
  >
  > Criei uma stored procedure para inserir no campo salário os valores já
  >
  > reajustados e não estou encontrando o erro de compilação.
  >
  > Utilizando show errors, ele diz que a palavra-chave FROM não está
  > localizada onde esperava-se. Outro erro está no END LOOP (esperava-se outro
  > simbolo).
  >
  > Aguardo ajuda,
  >
  > Obrigado (segue abaixo o codigo)
  >
  > CREATE OR REPLACE PROCEDURE PRC_FNC_ATUALIZA_ SAL
  >
  > IS
  >
  > CURSOR C1 IS
  >
  > SELECT
  >
  > EMPNO,
  >
  > DEPTNO,
  >
  > ENAME,
  >
  > JOB,
  >
  > MGR,
  >
  > HIREDATE,
  >
  > FUNCTION FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) SAL
  >
  > COMM
  >
  > FROM EMP
  >
  > WHERE JOB <>
  >
  > ‘PRESIDENT’
  >
  > BEGIN
  >
  > FOR R1 IN C1 LOOP
  >
  > INSERT INTO EMPR
  >
  > (EMPNO,
  >
  > DEPTNO,
  >
  > ENAME,
  >
  > JOB,
  >
  > MGR,
  >
  > HIREDATE,
  >
  > VALUES
  >
  > (R1.EMPNO,
  >
  > R1.DEPTNO,
  >
  > R1.ENAME,
  >
  > R1..JOB,
  >
  > R1.MGR,
  >
  > R1.HIREDATE,
  >
  > R1.SAL,
  >
  > R1.COMM,
  >
  > R1.DEPTNO);
  >
  > COMMIT
  >
  > END LOOP;
  >
  > EXCEPTION
  >
  > WHEN OTHERS THEN
  >
  > RAISE_APPLICATION_ ERROR
  >
  > (-20001,
  >
  > ‘Erro ao inserir
  >
  > funcionarios-‘ || SQLERRM);
  >
  > END;
  >
  > ____________ _________ _________ _________ _________ _________ _
  >
  > Veja quais são os assuntos do momento no Yahoo! +Buscados
  >
  > http://br..maisbusc a dos.yahoo. com
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > ____________ _________ _________ _________ _________ _________ _
  >
  > Veja quais são os assuntos do momento no Yahoo! +Buscados
  >
  > http://br.maisbusca dos.yahoo. com
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > ____________ _________ _________ _________ _________ _________ _
  >
  > Veja quais são os assuntos do momento no Yahoo! +Buscados
  >
  > http://br.maisbusca dos.yahoo. com
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > ____________ _________ _________ _________ _________ _________ _
  > Veja quais são os assuntos do momento no Yahoo! +Buscados
  > http://br.maisbusca dos.yahoo. com
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > ____________ _________ _________ _________ _________ _________ _
  > Veja quais são os assuntos do momento no Yahoo! +Buscados
  > http://br.maisbusca dos..yahoo. com
  >
  > [As partes desta mensagem que não continham texto foram removidas]
  >
  > 
  >

  [As partes desta mensagem que não continham texto foram removidas]

  ------------ --------- --------- ------

  ------------ --------- --------- --------- --------- --------- -
  >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
  Acesse: http://www.mail- archive.com/ oracle_br@ yahoogrupos. com.br/ 
  ------------ --------- --------- --------- --------- --------- -
  >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr .com.br/ 
  ------------ --------- --------- --------- --------- --------- - Links do 
Yahoo! Grupos

  ____________ _________ _________ _________ _________ _________ _
  Veja quais são os assuntos do momento no Yahoo! +Buscados
  http://br.maisbusca dos.yahoo. com

  [As partes desta mensagem que não continham texto foram removidas]

  [As partes desta mensagem que não continham texto foram removidas]

  __________________________________________________________
  Veja quais são os assuntos do momento no Yahoo! +Buscados
  http://br.maisbuscados.yahoo.com

  [As partes desta mensagem que não continham texto foram removidas]



  

[As partes desta mensagem que não continham texto foram removidas]

Responder a