PDA

Ver la Versión Completa : consulta sql a 2 bases de datos


duco
06-06-2020, 00:20:56
Buenas tardes.

¿Cómpo se puede hacer una consulta a 2 bases de datos? y plasmar el resultado en un dbgrid

cloayza
06-06-2020, 01:56:35
Bueno, creo que una consulta directa a las bases de datos no puede realizarse.

Pero siempre hay una solución podrías crear un procedimiento almacenado que retornara lo que requieres.

El ejemplo es sobre la base datos 'EMPLOYEE.FDB'. Estoy realizando una consulta anidada con la misma base datos.

El SP_CUSTOMER es un procedimiento que cree en la base de datos 'EMPLOYEE.FDB' y desde el enlace una consulta a la misma base de datos...


--Este procedimiento debe ser creado en 'EMPLOYEE.FDB'
create or alter procedure SP_CUSTOMER
returns (
CUST_NO integer,
CUSTOMER varchar(25),
COUNTRY varchar(15),
CURRENCY varchar(20))
as
BEGIN
FOR select
customer.cust_no,
customer.customer,
customer.country
from customer
INTO :CUST_NO,
:CUSTOMER,
:COUNTRY
DO
BEGIN
FOR EXECUTE STATEMENT 'SELECT CURRENCY FROM COUNTRY WHERE COUNTRY='''||:Country||''''
ON EXTERNAL DATA SOURCE 'EMPLOYEE.FDB' AS USER CURRENT_USER PASSWORD 'masterkey'
INTO :CURRENCY
DO
BEGIN
suspend;
END
END
END

Espero te sirva y ayuda a lo que requieres...
Estamos de acuerdo que tal vez no es lo mas óptimo, pero permite enlazar datos de distintas bases de datos...
Saludos cordiales