Olá,
Tive um erro chato de resolver em pl/sql esses dias.
Eis o erro:
13:53:58 SQL> @proc_teste
Warning: Procedure created with compilation errors.
SP2-0042: unknown command “end” – rest of line ignored.
Warning: Procedure created with compilation errors.
Errors for PROCEDURE PROC_TESTE:
Pressione [Enter] para continuar…
LINE/COL ERROR
——– —————————————————————–
12/33 PLS-00103: Encountered the symbol “end-of-file” when expecting
one of the following:
:= . ( % ;
Eis a procedure (é apenas um exemplo, a verdadeira tinha muito mais linhas):
set verify off
create or replace
— versao: 1.00
procedure proc_teste(p_exemplo in varchar2)is
———————————————
— Comentario ….: Procedure de exemplo
—
—
— Parametros ….:
— p_exemplo – parametro exemplo
—
—
—
begin
dbms_output.put_line(‘Exemplo’);
end;
/
show errors procedure proc_teste
set verify on
show user
O problema que o sqlplus encrenca com o comentário entre o create or replace e o procedure, no plsql developer funciona de boa.Veja abaixo o trecho problemático:
create or replace
— versao: 1.00
procedure proc_teste(p_exemplo in varchar2) is
A solução é simples, é só retirar o comentário dali. Coisa boba mas perdi um tempão para achar isso.
até mais,
Roberto
Me parece que entre o CREATE OR REPLACE até o fim da declaração da procedure é uma expressão só, independente de quebras de linha.
É o mesmo que você em uma linguagem de programação qualquer inserir um comentário do tipo
OK:
x = 3; // comentario
ERRADO:
x
// comentario
= 3;
que é o mesmo que
x // comentario = 3;
Também perco muito tempo com coisas simples, chega a dar raiva HAHAHA