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