我想在数据中心中选择一个活动分区。通常我会使用以下声明:
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.
答案 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
声明中提供所有数据容器。