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]

Responder a