Hi,
How do I select data from two tables from two different databases and
compare them? using dbi,odbc
1) Does "two different databases" mean two different DBMSs, or just
two logically distinct databases withing one DBMS?
Some DBMS allow for accessing across "database" boundaries (as
long as both are maintained within the same DBMS) without using a second
connection. (MySQL, for example, looks to allow "select ... from
db_name.table_name..." to cross boundaries.)
2) Do you mean two tables in /each/ "database" (four tables total)
or one in each "database"?
Offhand, if you can do cross-bounds queries, you can probably
use one query/cursor/connection.
select d1.t.f1 as d1f1, d1.t.f2 as d1f2, ... d2.t.f1 as d2f1,
d2.t.f2 as d2f2... from d1.t, d2.t where...
and then run a test comparing all the d1f* to d2f*
Otherwise, you may need two cursors to allow for independent
retrieves...
But maybe you want something like a DIFF report, and the tables
won't match row for row. For that, you will need to write a DIFF style
compare loop, and have cursors that can be rewound (or fetchall into
local data types that you can index).
--