Olá Roberto, obrigado por sua ajuda...

Digitando o comando SHOW ERROR, corrigi alguns erros e a proc foi alterada, 
porém, tah acusando ainda erro na linha de declaração do cursor:

CURSOR verifica_ordem IS

o erro acusado é:

PLS-00103: Encontrado o símbolo "VERIFICA_ORDEM" quando um dos
seguintes símbolos era esperado:
:= . ( @ % ;

A proc foi refeita e ficou da seguinte forma:

CREATE OR REPLACE PROCEDURE prc_updt_ordem_cadastro_prod
IS
v_linha number;
v_com varchar2(1000);

BEGIN

v_com := 'CREATE TABLE t_ordem_cadastro as'||
  'SELECT rownum linha, product_id, nome '||
  'FROM products';
     
EXECUTE IMMEDIATE v_com;

CURSOR verifica_ordem IS
SELECT linha
FROM t_ordem_cadastro FOR UPDATE;
 
   BEGIN
   
   OPEN verifica_ordem;
   
   LOOP

   FETCH verifica_ordem into v_linha;

   EXIT WHEN verifica_ordem%NOTFOUND;

   UPDATE products SET product_id = v_linha
   WHERE CURRENT OF verifica_ordem;
   
   END LOOP;
   
   COMMIT;
   
   CLOSE verifica_ordem;
   
   END;

END;
/

O que poderá ser agora?

Grato!

Matheus Malta
----- Original Message ----- 
From: "Roberto Oshikawa" <rcoshik...@gmail.com>
To: <oracle_br@yahoogrupos.com.br>
Sent: Monday, November 09, 2009 4:14 PM
Subject: Re: [oracle_br] Dúvida - Procedure


O oracle nao te mostra nenhuma mensagem de erro ? ou código do erro ?

depois que vc compilar a proc digite

show error



2009/11/9 Matheus Malta <maltamath...@gmail.com>

>
>
> Galera... Seguinte...
>
> Tô tentando desenvolver uma procedure no ambiente do SQLPlus... Mas o
> problema é que, ao compilar, ela tah acusando erro de compilação... E não
> mostra o erro que está ocorrendo, apenas aponta a linha onde o erro está
> ocorrendo...
>
> Fiz alguns testes removendo a linha ou substituindo o comando, mesmo assim,
> ainda não consegui proceder com a compilação...
>
> Alguém poderia me ajudar nesse aspecto?
>
> Segue abaixo a procedure:
>
> CREATE OR REPLACE PROCEDURE prc_updt_ordem_cadastro_prod
> IS
> v_linha number;
> v_com varchar2(1000);
>
> BEGIN
>
> v_com := 'CREATE TABLE t_ordem_cadastro as '||
> 'SELECT rownum linha, product_id, nome '||
> 'FROM products';
>
> EXECUTE IMMEDIATTE v_com;
>
> CURSOR check_ordem IS
> SELECT linha
> FROM t_ordem_cadastro FOR UPDATE;
>
> BEGIN
>
> OPEN check_ordem;
>
> LOOP
>
> FETCH check_ordem into v_linha;
>
> EXIT WHEN check_ordem%NOTFOUND;
>
> UPDATE products SET product_id = v_linha
> WHERE CURRENT OF check_ordem;
>
> END LOOP;
>
> COMMIT;
>
> CLOSE check_ordem;
>
> END;
>
> END prc_updt_ordem_cadastro_prod;
> /
>
> [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



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

Responder a