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
  

Mensagemem Qui, 07 Nov 2019 9:40 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:

Código: Selecionar todos
"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:

Código: Selecionar todos
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
dvzrna

Mensagemem Qui, 07 Nov 2019 3:27 pm

Basta tirar fora o DECLARE.
Aí fica assim:
Código: Selecionar todos
CREATE OR REPLACE PROCEDURE MAIOR(
    p_numero1 INT,
    p_numero2 INT,
    p_numero3 INT
) IS
    v_aux INT;
BEGIN
    v_aux := 0;
dr_gori
Localização: Portland, OR USA

Thomas F. G

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

Mensagemem Qui, 07 Nov 2019 9:10 pm

dr_gori escreveu:Basta tirar fora o DECLARE.
Aí fica assim:
Código: Selecionar todos
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!
dvzrna



Voltar para PL/SQL

Quem está online

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