Não sei o que aconteceu com a minha resposta anterior, vou tentar de novo :-)
Rafael Tu só disse que o erro é na segunda linha, mas não disse qual erro foi. . Como tem uma sequence lá todo mundo (inclusive eu) imaginou que o erro fosse nela. . Só que nesse caso a segunda linha também é a primeira linha das colunas selecionadas e provavelmente um erro de data type ou de número errado de colunas selecionadas em relação ao número de colunas da tabela do insert também seria "associado" a esta linha na mensagem de erro. Uma dica, sempre inclua no insert a cláusula com as colunas da tabela. Além de ficar melhor documentado ajuda na hora de escrever o código e evita problemas de execução após (possíveis) futuras inclusões de colunas null na tabela. Étore ---- Original Message ---- From: "vieira.rafael44" To: [email protected] Sent: Qua, Abr 11, 2012, 12:01 PM Subject: [oracle_br] Erro procedure Pessoal, crio a procedure, mas dá erro na segunda linha do INSERT onde possui o nextval da sequence, dizendo que nao tenho privilegios suficientes, estou Logado com usuário SYSTEM ( isso eh banco de teste, por isso estou conectado com esse usuario). ALguem pode ajudar? CREATE OR REPLACE PROCEDURE SP1_GERAR_RES_FAT_ANAL IS BEGIN -- Sequência = 100 INSERT INTO faturamento.res_fat_anal SELECT faturamento.seq_res_fat_anal.nextval, sp.parm_amreferenciafaturamento, loca.greg_id, loca.uneg_id, loca.loca_id, imov.stcm_id, imov.qdra_id, imov.iper_id, imov.last_id, imov.lest_id, contaCat.catg_id, conta.imov_id, NULL AS clie_id, conta.cnta_id, NULL AS dbac_id, NULL AS crar_id, NULL AS gpag_id, NULL AS gdev_id, 1 AS lctp_id, 1 AS lcit_id, NULL AS lict_id, 100 AS rfaa_nnsequenciatipolancamento, 0 AS rfaa_nnseqitemtplanc, sysdate AS rfaa_tmultimaalteracao, contaCat.ctcg_vlagua AS rfaa_vlitemfaturamento FROM faturamento.conta conta INNER JOIN cadastro.imovel imov ON conta.imov_id = imov.imov_id INNER JOIN faturamento.conta_categoria contaCat ON conta.cnta_id = contaCat.cnta_id INNER JOIN cadastro.localidade loca ON conta.loca_id = loca.loca_id INNER JOIN cadastro.sistema_parametros sp ON 1 = 1 WHERE conta.cnta_amreferenciaconta = sp.parm_amreferenciafaturamento AND( conta.dcst_idatual = 0 OR conta.dcst_idanterior = 0 ) AND contaCat.ctcg_vlagua > 0; COMMIT; END; [As partes desta mensagem que não continham texto foram removidas]
