Использовать нотацию select для указания нескольких разделов контейнера данных Exact Online

Я хотел бы выбрать активный раздел в центре данных. Обычно я бы использовал следующее утверждение:

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

Это дает ошибку. Я заметил, что когда я использую псевдоним для моего точного подключения к Интернету, он работает так:

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 ответ

Решение

Когда псевдоним не указан, первый подключенный контейнер данных в терминах "порядок сортировки" адресован. Учитывая тип сообщения об ошибке, это, вероятно, база данных SQL Server.

Предполагая, что вы ищете способ указать разделы в конкретном контейнере данных, лучшим подходом является использование:

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

Это идентично принятию результата:

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

и выполнение этого.

Конечно, когда у вас есть несколько контейнеров данных, таких как Exact Online Бельгия, Нидерланды, Локет и Nmbrs, вы можете предоставить их все в одном use заявление.

Другие вопросы по тегам