Erro ao declarar cursor num bloco anônimo

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
pnet1
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 73
Registrado em: Qui, 23 Jan 2020 9:12 pm

Esse bloco dá erro, fiz para testar

Selecionar tudo

DECLARE
V_NOME PANA101V_EMPREGADO.ATSF_NOME%TYPE; 
CS_CUR_TESTE IS
    SELECT
         PAN.ATSF_NOME FROM PANA101V_EMPREGADO PAN;
         /**--GE.ATSF_NOME,
         PAN.PKSF_CHAPA,
         PAN.FKSF_CCUSTO,
         QUA.ATSF_FUN_PORT_EXT AS CARGO,
         COMP.ATSF_CO_PORT_EXT AS UO,
         AREA.ATSF_AREA_PORT_ABR,         
         'P'
         '1'
     FROM 
         PANA101V_EMPREGADO PAN 
         LEFT JOIN TAKB100T_EMPREGADO  EMP  ON PAN.PKSF_CHAPA = EMP.PKND_NUMERO_PESSOAL
         LEFT JOIN PANA004T_COMPONENT COMP ON COMP.PKSF_COMP_ORGAN = PAN.FKND_COMP_ORGAN
         LEFT JOIN  PANA001T_QUALIFICA QUA ON QUA.PKSF_FUNCAO_NIVEL = PAN.FKSF_FUNCAO
         LEFT JOIN PANA011T_AREA AREA ON AREA.PKSF_AREA = COMP.FKSF_AREA         
         LEFT JOIN(SELECT
         S.CODFUNC,
         S.CODSUP,
         P.ATSF_NOME
         FROM TAKB437T_HIER_SAP S INNER JOIN PANA101V_EMPREGADO P ON S.CODFUNC = P.PKSF_CHAPA
         WHERE CODFUNC IN( SELECT PKND_NUMERO_PESSOAL FROM TAKB100T_EMPREGADO))GE ON PAN.PKSF_CHAPA = GE.CODSUP         
         WHERE PKSF_CHAPA = 1705873;*/
BEGIN
    --OPEN CS_CUR_TESTE;
    
    --CLOSE CS_CUR_TESTE;
    
END;
Esse é o erro apresentado
Error report -
ORA-06550: line 3, column 14:
PLS-00103: Encountered the symbol "IS" when expecting one of the following:

constant exception <an identifier>
<a double-quoted delimited-identifier> table columns long
double ref char time timestamp interval date binary national
character nchar
ORA-06550: line 32, column 1:
PLS-00103: Encountered the symbol "END" when expecting one of the following:

( begin case declare exit for goto if loop mod null pragma
raise return select update while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
json_exists json_value json_query json_object json_array
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Faltou a palavra CURSOR:

Selecionar tudo

DECLARE
  V_NOME PANA101V_EMPREGADO.ATSF_NOME%TYPE;
  CURSOR CS_CUR_TESTE IS
    SELECT...
pnet1
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 73
Registrado em: Qui, 23 Jan 2020 9:12 pm

Putz!! Falta de atenção é o maior bug que existe, pelo menos comigo. Eu até peço desculpas por esse tipo de erro e não justifica eu estar com pressa como foi o caso, mas obrigasdo mais uma vez. Que sirva de exemplo para todos.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes