2014-03-27 12:57 GMT-03:00 Emanuel Araújo <[email protected]>:
> Tenho nas duas situações:
>
> Na função ocorre quando faço um loop por várias tabelas à serem mapeadas, eu
> pego o nome das tabelas, seus respectivos campos e tipagens, depois faço a
> conversão de tipagens oracle>postgresql e gero o create da FDW.
>
> Abaixo Segue um exemplo da consulta: que está gerando o erro:
>
>
> SELECT 0 AS u_pkey,
>        f_vendedor.u_orgvenda    AS u_orgvenda,
>        f_vendedor.s_codvendedor AS s_codvendedor,
>        grupos.s_codgrupo        AS s_codgrupo,
>        f_produto.s_codproduto
>   FROM f_vendedor
>   JOIN (SELECT 'D'            AS s_tipogrupo,
>                codepto::text  AS s_codgrupo,
>                codusur::text  AS s_codvendedor
>          FROM erp.pcusurdepsec
>         UNION ALL
>         SELECT DISTINCT
>                'S'            AS s_tipogrupo,
>                codsec::text   AS s_codgrupo,
>                codusur::text  AS s_codvendedor
>          FROM erp.pcusurdepsec
>         UNION ALL
>         SELECT 'F'             AS s_tipogrupo,
>                codfornec::text AS s_codgrupo,
>                codusur::text   AS s_codvendedor
>          FROM erp.pcusurfornec
>         UNION ALL
>         SELECT DISTINCT
>                'I'::text                AS s_tipogrupo,
>                pcdistrib.coddistrib     AS s_codgrupo,
>                f_vendedor.s_codvendedor AS s_codvendedor
>           FROM erp.pcdistrib
>          CROSS JOIN f_vendedor
>         ) grupos ON (f_vendedor.s_codvendedor = grupos.s_codvendedor)
>   INNER JOIN f_produto ON ( grupos.s_codgrupo = (CASE WHEN (SELECT s_valor
> FROM t_parametro_cliente WHERE s_campo = 'v_utiliza_grupo') = 'D' THEN
> f_produto.codepto::text
>                                                       WHEN (SELECT s_valor
> FROM t_parametro_cliente WHERE s_campo = 'v_utiliza_grupo') = 'F' THEN
> f_produto.codfornec::text
>                                                       WHEN (SELECT s_valor
> FROM t_parametro_cliente WHERE s_campo = 'v_utiliza_grupo') = 'S' THEN
> f_produto.codsec::text
>                                                       WHEN (SELECT s_valor
> FROM t_parametro_cliente WHERE s_campo = 'v_utiliza_grupo') = 'I' THEN
> f_produto.coddistrib::text
>                                                  END) )
>   WHERE grupos.s_tipogrupo = (SELECT s_valor
>                          FROM t_parametro_cliente
>                         WHERE s_campo = 'v_utiliza_grupo')      ;
>
>
> ERROR:  cache lookup failed for type 0

Qual a versão do Oracle Client?

Bruno E. A. Silva.
Analista de Sistemas.
Bacharel em Sistemas de Informação
MBA Gerência de Projetos
Certified Scrum Master
LPIC-1
SCJP, SE 6
Novell CLA / DCTS ECR
DBA Postgres
-------------------------------
“A caixa dizia: Requer MS Windows ou superior. Então instalei Linux.”
- Sábio Desconhecido
"Alguns prestam serviço/consultoria de Qualidade, os outros vendem licença!"
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a