Boa tarde pessoal!
Tenho uma procedure no Oracle com várias funções de cálculos, tipo simulador. Então, quero montar uma type com parâmetros de saída com a leitura destes dados e trazer os resultados destas funções em tempo real, pois quero exibir como linhas de saída em um front ( tela web). Já criei os types objectos e table. Porém, estou com dificuldades em montar, pois não conheço bem Type. Alguém pode me ajudar? Obrigada
exemplos?
Retornar TYpe (tablet) como parâmetros de saída.
- dr_gori
- Moderador
- Mensagens: 5018
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Como é a estrutura do TYPE que você quer criar ?
Pra gente ter uma idéia...
Pra gente ter uma idéia...
-
- Rank: Programador Pleno
- Mensagens: 37
- Registrado em: Seg, 09 Mai 2016 3:07 pm
Cristine
Analista Pleno
Analista Pleno
Obrigada pelo retorno!
Vou passar a de uma estrutura simples como exemplo;
Cada coluna se refere ao resultado de uma função.
Obrigada
Vou passar a de uma estrutura simples como exemplo;
Cada coluna se refere ao resultado de uma função.
Create or replace Sml_motor is object (
Valor_Previsto Number,
Valor_simulado Number,
Qtd_simulado Number,
Valor_Iss Number,
);
- dr_gori
- Moderador
- Mensagens: 5018
- 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
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Um exemplo simples:
Aqui tem muita coisa sobre isso:
https://docs.oracle.com/cd/E11882_01/ap ... LNPLS01375
Aqui tem uns exemplos bem legais para o caso de você precisar VALIDAR as informações. (Criando um TYPE BODY, acho que você não vai precisar disso, mas enfim...)
https://www.guru99.com/object-types-pl-sql.html
CREATE TYPE demo_typ1 AS OBJECT (a1 NUMBER, a2 NUMBER);
https://docs.oracle.com/cd/E11882_01/ap ... LNPLS01375
Aqui tem uns exemplos bem legais para o caso de você precisar VALIDAR as informações. (Criando um TYPE BODY, acho que você não vai precisar disso, mas enfim...)
https://www.guru99.com/object-types-pl-sql.html
-
- Rank: Programador Pleno
- Mensagens: 37
- Registrado em: Seg, 09 Mai 2016 3:07 pm
Cristine
Analista Pleno
Analista Pleno
Bom dia dr_Grori!
Dei uma olhada nos links, como disse que não conheco bem Type, de uma olhada neste meu código por gentileza.
Obrigada
Dei uma olhada nos links, como disse que não conheco bem Type, de uma olhada neste meu código por gentileza.
Obrigada
create or replace PROCEDURE proc_motor ( p_ISS IN number,
p_COFINS IN number,
P_IR IN number,
P_IMPOSTO IN number,
P_TAXA IN number ) AS
--Retorno (Saida Funções Calculadas)
v_num1 NUMBER := 0;
v_num2 NUMBER := 0;
v_num3 NUMBER := 0;
-- type que receberá o retorno (Saida Funções Calculadas)
type tret_motor is record ( v_num1 number,
v_num2 number,
v_num3 number);
vretorno tret_motor;
-- função que retorna os valores (Saida Funções Calculadas)
function fun_ret_motor
return tret_motor
is
vret_motor tret_motor;
begin
--Retorno das funções-----------
--FUNCTION 1
v_num1 := fn_ISS( p_iss , p_COFINS );
--FUNCTION 2
v_num2 := fn_ir( P_IR, P_IMPOSTO);
--FUNCTION 3
v_num3 := fn_taxa( P_TAXA, P_IMPOSTO, p_ISS );
--Agora alimentamos o v_row a ser retornado
vret_motor.v_num1 := v_num1;
vret_motor.v_num2 := v_num2;
vret_motor.v_num3 := v_num3;
--
return vret_motor;
end fun_ret_motor;
--
begin
-- Chamada da função
vretorno := fun_ret_motor;
-- Print dos dados
dbms_output.put_line('FUNCTION 1: '||vretorno.v_num1);
dbms_output.put_line('FUNCTION 2: '||vretorno.v_num2);
dbms_output.put_line('FUNCTION 3: '||vretorno.v_num3);
end;
-
- Rank: Programador Pleno
- Mensagens: 37
- Registrado em: Seg, 09 Mai 2016 3:07 pm
Cristine
Analista Pleno
Analista Pleno
Boa noite dr_gori!
Sim, esta funcionando! Te enviei pois sei que você é bem experiente no assunto, e tecnicamente, poderia perceber alguma coisa que possa ser melhorado no código. A única coisa que vou acrescentar agora, será o type de entrada de parâmetros.
Muito obrigada!
Sim, esta funcionando! Te enviei pois sei que você é bem experiente no assunto, e tecnicamente, poderia perceber alguma coisa que possa ser melhorado no código. A única coisa que vou acrescentar agora, será o type de entrada de parâmetros.
Muito obrigada!
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes