BOM DIA NOBRES JEDIS! SEGUINTE, TENHO MAIS UMA DUVIDA!
EU CRIEI ,(COM A AJUDA DO FORUM É CLARO), UMA PROCEDURE QUE LE ALGUNS DADOS E INSERE EM UMA TABELA. AGORA ESTOU TENTANDO CRIAR NA MESMA PROCEDURE, UM PROCEDIMENTO QUE PEGUE ESSES DADOS QUE FORAM GRAVADOS NA TABELA NOVA E GRAVE EM OUTRA, POREM NÃO OBTIVE SUCESSO NO MEU CODIGO...NAO TENHO NEM IDEIA SE O QUE EU FIZ FAZ ALGUM SENTIDO, SÓ TENTEI. SEGUE O CODIGO ABAIXO, ALGUEM PODE ME AJUDAR POR FAVOR? DEPOIS QUE EU GRAVAR NA ULTIMA TABELA, EU QUERIA CRIAR UMA MANEIRA DE TROPAR A PRIMEIRA TABELA QUE FOI GRAVADA, PARA QUE ELE FUNCIONE COMO UMA TEMPORARIA POIS ELA NÃO TEM CHAVE PRIMARIA DEVIDO AO FATO DE QUE MUITOS ITENS SE REPETE. VALEU GALERA, SEGUE CODIGO: CREATE OR REPLACE procedure sp_insere_tabela2(vano CHAR,vcod_modelo CHAR) Is --Index By Binary_Integer; BEGIN For vlinha In ( SELECT M.ANO, M.cod_modelo, M.item_agrupador, M.DESCRICAO_AGRUPADOR, M.QUANTIDADE_COMPOSICAO, M.QUANTIDADE_COMPOSICAO*Avg (T.PRECO_UNITARIO_NACIONAL + (F_DOLAR (vano)*T.PRECO_UNITARIO_IMPORTADO )) AS PRECO_MEDIO, AVG(T.PRECO_UNITARIO_NACIONAL + (F_DOLAR(vano) *T.PRECO_UNITARIO_IMPORTADO )) AS TOTAL FROM modelo_equipamento M join tabela_preco T ON (M.cod_equipamento = T.cod_equipamento) GROUP BY M.cod_modelo,M.item_agrupador, M.QUANTIDADE_COMPOSICAO,M.ANO,M.DESCRICAO_AGRUPADOR) --AQUI EU DOU UM INSERT NA PRIMEIRA TABELA, A QUE SERIA UMA TEMPORARIA LOOP INSERT INTO PRECO_PARCIAL (ANO,COD_MODELO,ITEM_AGRUPADOR,DESCRICAO_AGRUPADOR,QUANTIDADE_COMPOSIC AO, PRECO_MEDIO,TOTAL) VALUES (vlinha.ANO,vlinha.COD_MODELO,vlinha.ITEM_AGRUPADOR,vlinha.DESCRICAO_A GRUPADOR, vlinha.QUANTIDADE_COMPOSICAO,vlinha.PRECO_MEDIO,vlinha.TOTAL); End Loop; COMMIT; --AQUI EU TENTEI INSERIR OS DADOS DA PRIMEIRA TABELA NESTA ULTIMA CHAMADA DE PRECIFICACAO_DETALHADA For vlinha2 In(select r1.ano as ano, r1.cod_modelo as cod_modelo, r2.QUANTIDADE_INVENTARIO as quantidade_inventario, r2.unidade as unidade, r1.preco_modelo as preco_modelo, r1.preco_modelo*r2.QUANTIDADE_INVENTARIO AS VALOR_CCA, r3.custo_indireto AS CUSTO_INDIRETO, r1.preco_modelo*r2.QUANTIDADE_INVENTARIO*(1+r3.custo_indireto) as VALOR_CCA_COM_CUSTO_INDIRETO, r3.fator_ociosidade as FATOR_OCIOSIDADE, r1.preco_modelo*r2.QUANTIDADE_INVENTARIO*(1+r3.custo_indireto)*(1- r3.fator_ociosidade) AS VALOR_CCA_COM_OCIOSIDADE from (select ano,cod_modelo, sum(total) as preco_modelo from preco_parcial where ano = vano and cod_modelo = vcod_modelo group by ano, cod_modelo) r1 JOIN (select ano, cod_modelo, sum(quantidade_inventario) as QUANTIDADE_INVENTARIO,unidade from quantitativo_fisico where ano = vano and cod_modelo = vcod_modelo group by ano, cod_modelo,unidade) r2 ON(r1.ano = r2.ano and r1.cod_modelo = r2.cod_modelo) JOIN (select ano,cod_modelo,custo_indireto,fator_ociosidade from modelo_fator where ano = vano and cod_modelo = cod_modelo group by ano, cod_modelo,custo_indireto,fator_ociosidade) r3 ON(r2.ano = r3.ano and r2.cod_modelo = r3.cod_modelo)) LOOP INSERT INTO PRECIFICACAO_DETALHADA (ANO,COD_MODELO, QUANTIDADE_INVENTARIO,UNIDADE,PRECO_MODELO, VALOR_CCA,CUSTO_INDIRETO, VALOR_CCA_COM_CUSTO_INDIRETO,FATOR_OCIOSIDADE, VALOR_CCA_COM_OCIOSIDADE) VALUES (vlinha2.ANO,vlinha2.COD_MODELO,vlinha2.QUANTIDADE_INVENTARIO,vlinha2. UNIDADE,vlinha2.PRECO_MODELO, vlinha2.VALOR_CCA,vlinha2.CUSTO_INDIRETO, vlinha2.VALOR_CCA_COM_CUSTO_INDIRETO,vlinha2.FATOR_OCIOSIDADE,vlinha2. VALOR_CCA_COM_OCIOSIDADE); END LOOP; COMMIT; DELETE PRECO_PARCIAL; --AQUI TENTEI DROPAR A A TABELA DEPOIS DE UTILIZA-LA PARA EVITAR DUPLICIDADE NO CALCULO Exception When no_data_found Then raise_application_error(-20000, 'Nenhum Registro Encontrado'); end sp_insere_tabela2; / QUE A FORÇA ESTEJA COM VCS!