Ajuda com uma procedure em PL/SQL
06/11/2019
0
Sou novato no mundo de PL/SQL e estou com dificuldade na criação de uma procedure.
Preciso de ajuda na criação de uma procedure que receberá três valores numéricos e insira um registro na tabela abaixo:
TB_MAIORES
Colunas: Descrição:
NUMERO1 Primeiro valor
NUMERO2 Segundo valor
NUMERO3 Terceiro valor
MAIOR Maior valor entre (NUMERO1, NUMERO2 e NUMERO3)
obrigado desde já!
Renan Devenz
Posts
06/11/2019
Fernando Ito
Vai ser algo mais ou menos como mostrado abaixo:
SELECT MAX(maiorNumero) AS maiorNumero FROM ( SELECT numero1 AS maiorNumero FROM TB_MAIORES UNION SELECT numero2 AS maiorNumero FROM TB_MAIORES UNION SELECT numero3 AS maiorNumero FROM TB_MAIORES )
Espero ter ajudado!
Um abraço,
ITO
06/11/2019
Luiz Santos
Sou novato no mundo de PL/SQL e estou com dificuldade na criação de uma procedure.
Preciso de ajuda na criação de uma procedure que receberá três valores numéricos e insira um registro na tabela abaixo:
TB_MAIORES
Colunas: Descrição:
NUMERO1 Primeiro valor
NUMERO2 Segundo valor
NUMERO3 Terceiro valor
MAIOR Maior valor entre (NUMERO1, NUMERO2 e NUMERO3)
obrigado desde já!
Boa noite Renan.
Confesso que estou um pouco enferrujado com o ORACLE, mas acho que ficaria assim:
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
07/11/2019
Emerson Nascimento
https://www.oracle.com/technetwork/pt/articles/sql/principais-caracteristicas-database-2108383-ptb.html
07/11/2019
Renan Devenz
Vai ser algo mais ou menos como mostrado abaixo:
SELECT MAX(maiorNumero) AS maiorNumero FROM ( SELECT numero1 AS maiorNumero FROM TB_MAIORES UNION SELECT numero2 AS maiorNumero FROM TB_MAIORES UNION SELECT numero3 AS maiorNumero FROM TB_MAIORES )
Espero ter ajudado!
Um abraço,
ITO
Obrigado!
A consulta funcionou, porém preciso transformar essa consulta para uma procedure, como eu faço isso?
E preciso inserir o valor maior na tabela.
07/11/2019
Renan Devenz
Sou novato no mundo de PL/SQL e estou com dificuldade na criação de uma procedure.
Preciso de ajuda na criação de uma procedure que receberá três valores numéricos e insira um registro na tabela abaixo:
TB_MAIORES
Colunas: Descrição:
NUMERO1 Primeiro valor
NUMERO2 Segundo valor
NUMERO3 Terceiro valor
MAIOR Maior valor entre (NUMERO1, NUMERO2 e NUMERO3)
obrigado desde já!
Boa noite Renan.
Confesso que estou um pouco enferrujado com o ORACLE, mas acho que ficaria assim:
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
Obrigado!
Testei a procedure e retornou um erro informando que não é possível fazer declaração em procedure plsql.
fiz uns ajustes, porém está ocorrendo outro erro de sintaxe.
CREATE OR REPLACE PROCEDURE SP_MAIORES(
p_numero1 INT,
p_numero2 INT,
p_numero3 INT
) IS
v_aux TB_MAIORES.MAIOR%TYPE;
BEGIN
IF p_numero1 >= v_aux THEN
v_aux := p_numero1;
IF p_numero2 >= v_aux THEN
v_aux := p_numero2;
IF p_numero3 >= 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 IF;
END SP_MAIORES;
/
Clique aqui para fazer login e interagir na Comunidade :)