Ajuda com procedure

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
dvzrna
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Ter, 05 Nov 2019 10:10 am

olá

montei uma procedure para inserir na tabela TB_MAIORES o maior valor entre as 3 colunas, numero1, numero2 e numero3, porém está retornando um erro ao tentar criar:

Selecionar tudo

"Line/Col: 6/1 PLS-00103: Encountered the symbol "DECLARE" when expecting one of the following:

   begin function pragma procedure subtype type <an identifier>
   <a double-quoted delimited-identifier> current cursor delete
   exists prior external language"
segue meu código abaixo:

Selecionar tudo

CREATE OR REPLACE PROCEDURE MAIOR(
    p_numero1 INT,
    p_numero2 INT,
    p_numero3 INT
) IS
DECLARE
    v_aux INT;
     
BEGIN
    v_aux := 0;
     
    IF p_numero1 >= v_aux THEN
        v_aux := p_numero1;
     
    IF p_numero2 >= v_aux THEN
        v_aux := p_numero2;
         
    IF p_numero2 >= v_aux THEN
        v_aux := p_numero3;
         
    INSERT INTO TB_MAIORES 
        (NUMERO1, NUMERO2, NUMERO3 ,MAIOR)  
    VALUES
        (p_numero1, p_numero2, p_numero3, v_aux);
     
END
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

Basta tirar fora o DECLARE.
Aí fica assim:

Selecionar tudo

CREATE OR REPLACE PROCEDURE MAIOR(
    p_numero1 INT,
    p_numero2 INT,
    p_numero3 INT
) IS
    v_aux INT;
BEGIN
    v_aux := 0;
dvzrna
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 8
Registrado em: Ter, 05 Nov 2019 10:10 am

dr_gori escreveu:Basta tirar fora o DECLARE.
Aí fica assim:

Selecionar tudo

CREATE OR REPLACE PROCEDURE MAIOR(
    p_numero1 INT,
    p_numero2 INT,
    p_numero3 INT
) IS
    v_aux INT;
BEGIN
    v_aux := 0;

Deu certo, muito obrigado!
Responder
  • Informação
  • Quem está online

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