如何在 AS400 中连接来自 2 个不同服务器的 2 个表?
How to join 2 tables from 2 different servers in AS400?
我正在使用 AS400 7.1 版。
具有以下特征:
服务器 A (SA) - 数据库 A (DBA) - 表 A (TA)
服务器 B (SB) - 数据库 B (DBB) - 表 B (TB)
SELECT A.*, B.*
FROM SA.DBA.TA A INNER JOIN SB.DBB.TB
ON A.PN=B.PN
WHERE A.PN='BFDKS';
在 AS400 中连接来自两个不同服务器的 2 个表的正确语法是什么?
我收到以下错误
Relational database SA not in relational database directory
我很确定目前 Db2 for i...
目前无法做到这一点
3 部分名称是 i 的新名称,据我所知仅限于
插入 mylib.mytable
(select * 来自 remotedb.somelib.sometable);
见CREATE TABLE with remote subselect
或者在触发程序中..
见 3-part names in triggers
Db2 for LUW 具有这样的联合功能...
我看到的一个解决方法是使用用户定义的 table 函数 (UDTF) 到 return 来自远程 Db2 for i 数据库的行..
在 DB2 for i 上不可能。但是就像查尔斯说的,你可以做到:
-- run this instructions on server B
create table qtemp.SADBATA as (
SELECT A.* FROM SA.DBA.TA A
where A.PN='BFDKS'
) with data;
SELECT * FROM qtemp.SADBATA A INNER JOIN SB.DBB.TB ON A.PN=B.PN;
我正在使用 AS400 7.1 版。
具有以下特征:
服务器 A (SA) - 数据库 A (DBA) - 表 A (TA)
服务器 B (SB) - 数据库 B (DBB) - 表 B (TB)
SELECT A.*, B.*
FROM SA.DBA.TA A INNER JOIN SB.DBB.TB
ON A.PN=B.PN
WHERE A.PN='BFDKS';
在 AS400 中连接来自两个不同服务器的 2 个表的正确语法是什么?
我收到以下错误
Relational database SA not in relational database directory
我很确定目前 Db2 for i...
目前无法做到这一点3 部分名称是 i 的新名称,据我所知仅限于
插入 mylib.mytable (select * 来自 remotedb.somelib.sometable);
见CREATE TABLE with remote subselect
或者在触发程序中.. 见 3-part names in triggers
Db2 for LUW 具有这样的联合功能...
我看到的一个解决方法是使用用户定义的 table 函数 (UDTF) 到 return 来自远程 Db2 for i 数据库的行..
在 DB2 for i 上不可能。但是就像查尔斯说的,你可以做到:
-- run this instructions on server B
create table qtemp.SADBATA as (
SELECT A.* FROM SA.DBA.TA A
where A.PN='BFDKS'
) with data;
SELECT * FROM qtemp.SADBATA A INNER JOIN SB.DBB.TB ON A.PN=B.PN;