Em 27/08/13, Paulo Bastos<[email protected]> escreveu: > > Flavio > > Não existe um atributo denominado contrato neste schema. Além do que > contrato aqui é uma variavel que é utilzada na função. > > mais alguma ideia? > > Obrigado > > Paulo > > > > > > Quando estou executando a função abaixo abaixo da msg , está dando erro. A > msg abaixo tirei do log. > > 2013-08-27 13:15:09 BRT ERRO: refer�ncia � coluna "contrato" � amb�gua no > caracter 69 > 2013-08-27 13:15:09 BRT DETALHE: Ela poderia referenciar uma vari�vel > PL/pgSQL ou uma coluna de tabela. > 2013-08-27 13:15:09 BRT CONSULTA: UPDATE socic.contrato SET numero_contrato > = numeradora > WHERE id = contrato > > Função > > CREATE OR REPLACE FUNCTION socic.numeradora_contrato(loja integer, tipo_vend > integer, codigo_fin integer, contrato integer) > RETURNS integer AS > $BODY$declare numeradora int4; > > BEGIN > SELECT nr.numero_corrente + 1 INTO numeradora > FROM socic.numeradora_contrato as nr > WHERE nr.id_loja = loja > AND nr.tipo_venda = tipo_vend > AND nr.codigo_financeiro = codigo_fin > FOR UPDATE; > > IF (numeradora IS NULL) THEN > INSERT INTO socic.numeradora_contrato(numero_corrente, id_loja, tipo_venda, > codigo_financeiro) > VALUES (0, loja, tipo_vend, codigo_fin); > > SELECT nr.numero_corrente + 1 INTO numeradora > FROM socic.numeradora_contrato as nr > WHERE nr.id_loja = loja > AND nr.tipo_venda = tipo_vend > AND nr.codigo_financeiro = codigo_fin > FOR UPDATE; > > END IF; > > UPDATE socic.numeradora_contrato SET numero_corrente = numeradora > WHERE id_loja = loja > AND tipo_venda = tipo_vend > AND codigo_financeiro = codigo_fin; > UPDATE socic.contrato SET numero_contrato = numeradora > WHERE id = contrato; > > RETURN numeradora; > END; > $BODY$ > LANGUAGE plpgsql VOLATILE > COST 100; > > > Quando troco contrato (Em negrito na função) por contrato1 funciona.
Como não tem? Ele até indicou para você: UPDATE socic.*contrato* SET numero_contrato = numeradora WHERE id = contrato; Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
