Estamos migrando o banco de dados da empresa de Acces 97 para Postgres 8.0.3
num servidor com Red Hat.
O código do programa está em Vb5... E por hora não temos a possibilidade de
mudarmos tudo de uma unica vez, estamos migrando por partes(Como Jack).
Porém nesta migração estou com uma duvida nestes códigos que segue abaixo:
DROP FUNCTION dados_comander_01(text,int,int,date,date);
DROP TYPE grid_os;
CREATE TYPE grid_os AS (p1 text,p2 text,p3 text,p4 text,p5 double precision,
p6 text,p7 int);
CREATE FUNCTION dados_commander_01(text,int,int,date,date) RETURNS SETOF
grid_os AS $$
SELECT ordem_form.num_of,
clientes.nome_clie||lpad('',30)||to_char(clientes.id_clie,'9999'),
vendedores.nome_vende, ordem_form.desc_prod1, ordem_form.quan_impe,
to_char(ordem_form.prec_prat,'99990D99'), ordem_form.id_of
FROM (ordem_form INNER JOIN clientes ON ordem_form.id_clie =
clientes.id_clie) INNER JOIN vendedores ON ordem_form.id_vend =
vendedores.id_vende
WHERE clientes.nome_clie LIKE '%'||$1||'%' AND ordem_form.data_assi_of >= $4
AND ordem_form.data_assi_of <= $5 and
ordem_form.id_etapa=$2 and ordem_form.tipo_fatu=$3
ORDER BY ordem_form.num_of;
$$ LANGUAGE SQL;
DROP FUNCTION pl_dados_comander_01(text,int,int,date,date);
CREATE FUNCTION pl_dados_commander_01(text,int,int,date,date) RETURNS SETOF
record AS $$
DECLARE retvar record;
BEGIN
FOR retvar IN
SELECT ordem_form.num_of,
clientes.nome_clie||lpad('',30)||to_char(clientes.id_clie,'9999'),
vendedores.nome_vende,
ordem_form.desc_prod1, ordem_form.quan_impe,
to_char(ordem_form.prec_prat,'99990D99'), ordem_form.id_of
FROM (ordem_form INNER JOIN clientes ON ordem_form.id_clie =
clientes.id_clie) INNER JOIN vendedores
ON ordem_form.id_vend = vendedores.id_vende
WHERE clientes.nome_clie LIKE '%'||$1||'%' AND
ordem_form.data_assi_of >= $4 AND ordem_form.data_assi_of <= $5
and ordem_form.id_etapa=$2 and ordem_form.tipo_fatu=$3
ORDER BY ordem_form.num_of
LOOP
RETURN NEXT retvar;
END LOOP;
RETURN;
END
$$ LANGUAGE plpgsql;
O dados_comander_01funciona perfeitamente, e a segunda pl_dados_comander_01
não funciona, só que teoricamente as duas deveriam funcionar da mesma
maneira.
Então como fazer para que a pl_dados_comander_01 sem ter que declarar um
tipo?
Bem de já agradeco.
--
Gabriel Bortolotto
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral