Pessoal, estou com um problema para resolver, verifiquem os comandos de 
exemplo abaixo:

1)
SELECT cep, logr_t, logr, logr_compl, bairro, cidade, uf 
FROM dblink('hostaddr=192.168.0.10 dbname=cep user=xxxxxxx password=xxxx', 
'select cep, logr_t, logr, logr_compl, bairro, cidade, uf from cep WHERE cep = 
‘03129110’ ') 
AS cep(cep character(8), logr_t character varying(5), logr character 
varying(60), logr_compl character varying(30), bairro character varying(30), 
cidade character varying(30), uf character(2))

2)
SELECT cep, logr_t, logr, logr_compl, bairro, cidade, uf 
FROM dblink('hostaddr=192.168.0.10 dbname=cep user=xxxxxxx password=xxxx', 
'select cep, logr_t, logr, logr_compl, bairro, cidade, uf from cep  ') 
AS cep(cep character(8), logr_t character varying(5), logr character 
varying(60), logr_compl character varying(30), bairro character varying(30), 
cidade character varying(30), uf character(2))
WHERE cep = ‘03129110’

A única diferença entre os 2 está na clausula WHERE que no primento fica dentro 
do dblink e no segundo fica fora.
Pois bem, o primeiro, teoricamente seria mais rápido (usei como teste, em vez 
de procurar string, procurar um valor integer ou usar LIMIT), porém, ele dá 
erro devido as ‘ ‘ que conflitam com as ‘ ‘  usadas no dblink (WHERE cep = 
‘03129110’ ).

Ambiente:
Windows 7 Professional 64 bits
PostgreSQL 9.0 64 bits
Linguagem: xHarbour

Antes de usar esta forma, que acredito ser a mais correta e elegante, na 
correria, criava outra instancia de conecxão e fazia a busca por ela. A forma 
1, seria mais rápida que a “quebra galho”, porem, a forma 2 é muito mais lenta. 
Existira uma forma de usar outros delimitadores ao inves do ‘ ‘?

{}

Eduardo Az
Dep.TI
EMBRASIS
+55(11)8125-3845
+55(11)2122-0241
[email protected]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a