'使用select'表示法指定Exact Online数据容器的多个分区

时间:2017-09-11 15:49:53

标签: exact-online invantive-sql invantive-data-hub

我想在数据中心中选择一个活动分区。通常我会使用以下声明:

INVANTIVE> use 1552839
2>
Exclamation itgendhb077: Error in Invantive Data Hub.
Database '1552839' does not exist. Make sure that the name is entered correctly.

这给出了一个错误。我注意到当我使用我的Exact在线连接的别名时它确实有效:

INVANTIVE> use 1552839@eol
2>
itgendhb018: 0 Rows Affected (111 ms)

但我想执行以下操作,从SQL表中选择我想要的分区,但这不起作用:

use select division_code from dc.rs.selected_admins@sql

替代方案不起作用:

INVANTIVE> use select code from systemdivisions@eol sd inner join dc.rs.selected_admins@sql sa on sd.code = sa.division_code
2>
Exclamation itgendhb077: Error in Invantive Data Hub.
Database '1552839' does not exist. Make sure that the name is entered correctly.

1 个答案:

答案 0 :(得分:2)

当未指定别名时,第一个连接的数据容器按照" sortingorder"得到解决。鉴于错误消息的类型,可能是SQL Server数据库。

假设您正在寻找在特定数据容器中指定分区的方法,最好的方法是使用:

use select code partitioncode, 'eol' datacontaineralias from ...

这与取得结果相同:

select 'use ' || lst from ( select listagg(code || '@' || eol') lst from ... )

并执行那个。

当然,如果您有多个数据容器连接,如Exact Online Belgium,荷兰以及Loket和Nmbrs,您可以在一个use声明中提供所有数据容器。