Erro PLS-00103 na criação da trigger

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
kenia
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Dom, 29 Nov 2009 7:07 pm
Localização: Uberlandia
Contato:

Olá pessoal!
Estou criando uma trigger no meu banco de testes e dá o seguinte erro:

Selecionar tudo

[1]: (Warning) PLS-00103: Encontrado o símbolo "@" quando um dos seguintes símbolos era esperado:     begin function package pragma procedure subtype type use    <um identificador>    <um identificador delimitado por aspas duplas> form current    cursor 
Segue o código:

Selecionar tudo

CREATE OR REPLACE TRIGGER AFRODITE.TG_PROCESSAR_COMPRA
AFTER 
 INSERT OR UPDATE ON AFR_PED_ITENS
FOR EACH ROW 
DECLARE 
    @TOTAL_ITEM AS NUMBER (10,2);
 BEGIN
  /*Alterar os valores de compras
    Total do item*/
   IF INSERTING THEN
      @TOTAL_ITEM := VLRUNITARIO * QTD;
                          
       UPDATE AFR_PED_ITENS
       SET VLRTOTALITEM = @TOTAL_ITEM;
     
   END IF;       
END;
/
Ela terá mais condições, mas essa já estando dando erro...rs..se alguém puder me ajudar ficarei eternamente grata já olhei tudo, comparei com alguns exemplos e não consegui arrumar :cry:
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Simples erro de compilação, não se pode ter nome de variável com @...

Nomes devem começar com letras e podem ainda conter, após o primeiro caractere, # $ e _ além de números.
kenia
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Dom, 29 Nov 2009 7:07 pm
Localização: Uberlandia
Contato:

Muito obrigada, eu esqueci de mencionar que eu tinha tentando tirar o @ rsrs...quando tira ele aí o erro muda para:

[1]: (Warning) PLS-00103: Encontrado o símbolo "AS" quando um dos seguintes símbolos era esperado: constant exception <um identificador> <um identificador delimitado por aspas duplas> table LONG_ double ref char time timestamp interval date binary national character nchar O símbolo "AS" foi ignorado.

To me sentindo muito burra...eu olho outras trigger e não encontro As a não ser em referencing.
Desde já muitooooo obrigada por mais esta ajuda.
diegolenhardt
Moderador
Moderador
Mensagens: 1177
Registrado em: Qui, 15 Out 2009 10:28 am
Localização: Recife

tira a palavra DECLARE
kenia
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Dom, 29 Nov 2009 7:07 pm
Localização: Uberlandia
Contato:

Obrigada a todos que me ajudadaram... acabei descobrindo aqui...rsrs
era na declaração da variável mesmo não tem o "as" antes do tipo.
Mais uma vez obrigada a todos! :wink:
Responder
  • Informação