Использовать нотацию 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
заявление.