Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   consulta sql a 2 bases de datos (https://www.clubdelphi.com/foros/showthread.php?t=94716)

duco 06-06-2020 00:20:56

consulta sql a 2 bases de datos
 
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...

Código SQL [-]
--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


La franja horaria es GMT +2. Ahora son las 07:48:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi