RES: Res: [oracle_br] URGENTE!! Bloco PL não compilando
Marcelo, Apenas o comando abaixo funciona? INSERT INTO EMPR (EMPNO, ENAME, MGR, JOB, HIREDATE, SAL, COMM, DEPTNO) SELECT EMPNO, ENAME, MGR, JOB, HIREDATE, FNC_CALC_REAJUSTE_SAL (EMPNO,DEPTNO), COMM, DEPTNO FROM EMP WHERE JOB 'PRESIDENT'; Se não funcionar, veja se o nome dos campos e tipos nas duas tabelas estão corretos e também se a função FNC_CALC_REAJUSTE_SAL existe e recebe os atributos nos tipos corretos. Luc --- 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..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] __ 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] -- Atenção! As mensagens do grupo
Res: Res: [oracle_br] URGENTE!! Bloco PL não compilando
A coluna DEPTNO existe na tabela EMPR? De: Marcelo Feijó Vargas marcelofvar...@yahoo.com.br Para: oracle_br@yahoogrupos.com.br Enviadas: Quarta-feira, 15 de Julho de 2009 21:01:46 Assunto: Res: [oracle_br] URGENTE!! Bloco PL não compilando Sim, tenho certeza. Comentei as linhas do insert...e compilou. O erro está no insert. _ _ __ De: Lucimar dos Santos luci...@micromap. com.br Para: oracle...@yahoogrup os.com.br Enviadas: Quarta-feira, 15 de Julho de 2009 20:20:34 Assunto: Re: [oracle_br] URGENTE!! Bloco PL não compilando Marcelo essa função: FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) Existe, está funcionando corretamente ??? vc tem certeza que o erro é no insert, já chegou a comentar as linhas do insert para ver se compila ??? Lucimar dos Santos Programador Oracle Forms/Reports 6 e 9 - Original Message - From: Marcelo Feijó Vargas To: oracle...@yahoogrup os.com.br Sent: Wednesday, July 15, 2009 8:06 PM Subject: Res: [oracle_br] URGENTE!! Bloco PL não compilando Não foi ainda galera, o erro continua a persistir como identificador invalido DEPTNO _ _ __ De: Jeison jei...@stcruz. com.br Para: oracle...@yahoogrup os.com.br Enviadas: Quarta-feira, 15 de Julho de 2009 19:49:34 Assunto: Re: Res: [oracle_br] URGENTE!! Bloco PL não compilando 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...@yahoogrup os.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...@yahoogrup os.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 rcoshikava@ 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. brsimoneaggaspar% 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
Re: [oracle_br] URGENTE!! Bloco PL não compilando
Oi, marcelo, Apenas como detalhe e acredito q vc já tenha feito, vc chegou a executar apenas o select ? Outra coisa q percebi, vc não precisa abrir o cursor OPEN CURSOR, UTILIZANDO APENAS O FOR R1 IN C1 LOOP JÁ ESTÁ ABRINDO IMPLICITAMENTE, OUTRA COISA VC ESTÁ ABRINDO O CURSOR E NÃO ESTÁ FECHANDO, SE VC ABRIR VAI PRECISAR UTILIZAR O FETCH 2009/7/15 Marcelo Feijó Vargas marcelofvar...@yahoo.com.br 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 simoneaggas...@yahoo.com.brsimoneaggaspar%40yahoo.com.br Para: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.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.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.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] -- 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 * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
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 marcelofvar...@yahoo.com.br escreveu: De: Marcelo Feijó Vargas marcelofvar...@yahoo.com.br Assunto: Res: [oracle_br] URGENTE!! Bloco PL não compilando Para: oracle_br@yahoogrupos.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.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
Res: Res: [oracle_br] URGENTE!! Bloco PL não compilando
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 simoneaggas...@yahoo.com.br Para: oracle_br@yahoogrupos.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
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_br@yahoogrupos.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 marcelofvar...@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 simoneaggas...@yahoo.com.brsimoneaggaspar%40yahoo.com.br Para: oracle...@yahoogrupos.com..br oracle_br%40yahoogrupos.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
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. brsimoneaggaspar% 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
Res: Res: [oracle_br] URGENTE!! Bloco PL não compilando
desculpe, não entendi...como faço? De: Jeison jei...@stcruz.com.br Para: oracle_br@yahoogrupos.com.br Enviadas: Quarta-feira, 15 de Julho de 2009 19:07:39 Assunto: Re: Res: [oracle_br] URGENTE!! Bloco PL não compilando perdão não vi que tinha colocado a ordem dos campo no insert, tenta ver o que retorna o cursor p/ ver se é possivel inserir nesse campo... . - Original Message - From: Jeison To: oracle...@yahoogrup os.com.br Sent: Wednesday, July 15, 2009 6:57 PM Subject: 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. brsimoneaggaspar% 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
Re: Res: Res: [oracle_br] URGENTE!! Bloco PL não compilando
Marcelo acredito que achei o erro, esta faltando um BEGIN..END, como vc colocou o cursor dentro de um begin ..exception faltou o begin da procedure, veja abaixo con alinhamento. CREATE OR REPLACE PROCEDURE PRC_FNC_ATUALIZA_ SAL IS CURSOR C1 IS SELECT EMPNO, DEPTNO, EAME, JOB, MGR, HIREDATE, FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) SAL, COMM FROM EMP WHERE JOB `PRESIDENT'; BEGIN -- faltou esse 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; END; -- e esse Lucimar dos Santos Programador Oracle Forms/Reports 6 e 9 --- Em oracle_br@yahoogrupos.com.br, Marcelo Feijó Vargas marcelofvar...@... escreveu Sim, exatamente.Não consigo mais enxergar o erro. De: Jeison jei...@... 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. brsimoneaggaspar% 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
Re: [oracle_br] URGENTE!! Bloco PL não compilando
Marcelo essa função: FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) Existe, está funcionando corretamente ??? vc tem certeza que o erro é no insert, já chegou a comentar as linhas do insert para ver se compila ??? Lucimar dos Santos Programador Oracle Forms/Reports 6 e 9 - Original Message - From: Marcelo Feijó Vargas To: oracle_br@yahoogrupos.com.br Sent: Wednesday, July 15, 2009 8:06 PM Subject: Res: [oracle_br] URGENTE!! Bloco PL não compilando Não foi ainda galera, o erro continua a persistir como identificador invalido DEPTNO De: Jeison jei...@stcruz.com.br Para: oracle_br@yahoogrupos.com.br Enviadas: Quarta-feira, 15 de Julho de 2009 19:49:34 Assunto: Re: Res: [oracle_br] URGENTE!! Bloco PL não compilando 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...@yahoogrup os.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...@yahoogrup os.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 rcoshikava@ 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. brsimoneaggaspar% 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
Re: [oracle_br] URGENTE!! Bloco PL não compilando
Marcelo testa com esse código abaixo: 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; END; Lucimar dos Santos Programador Oracle Forms/Reports 6 e 9 - Original Message - From: Marcelo Feijó Vargas To: oracle_br@yahoogrupos.com.br Sent: Wednesday, July 15, 2009 9:01 PM Subject: Res: [oracle_br] URGENTE!! Bloco PL não compilando Sim, tenho certeza. Comentei as linhas do insert...e compilou. O erro está no insert. De: Lucimar dos Santos luci...@micromap.com.br Para: oracle_br@yahoogrupos.com.br Enviadas: Quarta-feira, 15 de Julho de 2009 20:20:34 Assunto: Re: [oracle_br] URGENTE!! Bloco PL não compilando Marcelo essa função: FNC_CALC_REAJUSTE_ SAL (EMPNO,DEPTNO) Existe, está funcionando corretamente ??? vc tem certeza que o erro é no insert, já chegou a comentar as linhas do insert para ver se compila ??? Lucimar dos Santos Programador Oracle Forms/Reports 6 e 9 - Original Message - From: Marcelo Feijó Vargas To: oracle...@yahoogrup os.com.br Sent: Wednesday, July 15, 2009 8:06 PM Subject: Res: [oracle_br] URGENTE!! Bloco PL não compilando Não foi ainda galera, o erro continua a persistir como identificador invalido DEPTNO _ _ __ De: Jeison jei...@stcruz. com.br Para: oracle...@yahoogrup os.com.br Enviadas: Quarta-feira, 15 de Julho de 2009 19:49:34 Assunto: Re: Res: [oracle_br] URGENTE!! Bloco PL não compilando 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...@yahoogrup os.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...@yahoogrup os.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 rcoshikava@ 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. brsimoneaggaspar% 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